Ich benutze Pex und Moles für meine Low-Level-Unit-Tests, aber ich erkunde auch MSpec für Business-Logik-Validierung, und möchte Moles für Konsistenz verwenden. Das Problem, denke ich, ist, dass MSPec anonyme Methoden verwendet, so dass es keine Möglichkeit gibt, das Attribut HostType ("Moles") anzuwenden. Zum Beispiel:Gibt es eine Problemumgehung zum Festlegen von [HostType ("Moles")] beim Umgang mit anonymen Methoden in MSpec?
Because of =() =>
employeeList = EmployeeManager.GetUsersByRoles(rolesToLoad);
It should_return_a_list_of_employees =() =>
employeeList.ShouldNotBeNull();
ich die Rollen-Provider spöttischer innerhalb namens „GetUsersByRoles,“ und wenn ich versuche, diesen Test über MSpec zu laufen, habe ich den Standard „Moles erfordern Tests in einem instrumentierten Prozess zu sein“ Fehler , mit der Anweisung, [HostType ("Moles")] zu meiner Testmethode hinzuzufügen. Gibt es eine Problemumgehung oder eine andere Option hier?
Seitennotiz: Ich habe MSMSpec.tt heruntergeladen und modifiziert, um das Attribut in die generierten VSTests aufzunehmen, aber ich möchte die MSpec-Tests direkt über einen eigenen Runner oder TestDriven.net ausführen können, so dass ich kann Holen Sie sich die freundliche Ausgabe für BAs und Geschäftsinhaber.
Danke, Mike, das ist eine hilfreiche Erklärung. Ich muss herausfinden, ob es ein gutes Framework gibt, das leicht mit MSpec und Pex/nativen VS-Tests verwendet werden kann. –
Schade, dass Moles nicht mit MSPEC funktioniert. Weiß jemand, ob das Microsoft Fakes-Projekt in VS 2011 (einschließlich Maulwürfe Funktionalität unter anderem) dies funktioniert? – Alexis