Ich suchte nach Tags "Moles" und "Visual Studio Express", und keine Fragen gefunden. Das bedeutet wahrscheinlich, dass ich die einzige Person bin, die versucht, Express mit Moles zu verwenden :)Wie wird Maulwurf manuell in Visual Studio Express verwendet?
In Express gibt es keine Optionen wie "Add mol Moles Assembly" oder "Add mscorlib".
Ich habe es geschafft, das Tutorial für den DateTime Y2Kbug nach dem manuellen Hinzufügen einiger Referenzen zu bekommen, die normalerweise von VS gehandhabt werden würden. Also, das bedeutet, dass ich irgendeinen der vorgetragenen Sachen in System oder mscorlib moleen kann, was nützlich sein wird.
Mein Problem ist, dass ich nicht scheinen kann, meine eigenen Klassen oder Methoden in der SUT zu mole. Ich glaube nicht, dass der Compiler irgendeine der .moles-Dateien sieht, die die Assemblies zu Mol enthalten.
ich bewiesen dies, indem er versucht Datetime aus dem Y2kbug Tutorial auszuschließen, mit (?):
<MoleGeneration>
<Types>
<Remove FullName="DateTime!" />
</Types>
</MoleGeneration>
Aber der "Bug" wurde wie gewöhnlich behauptet :)
Ist es möglich, nicht zu erzeugen, -system Mole als ich sie brauche, indem etwas mit mir in diesem Forum gesehen: stackoverflow.com/questions/6272217/microsoft-moles-dynamically-instrument
Call Microsoft.Moles.Framework.Moles.MoleRuntime.SetMole(Delegate _stub, object _receiver, MethodInfo method);
Wenn ich die „SetMole“ Methode verwenden, Bedeutet das, dass ich keine "Assembly" -Dateien brauche, die sowieso nicht zu sehen sind? Wenn ja, wäre es möglich, einige Beispiele für die Verwendung von "SetMole" zu geben. (Ich bin kein Technikfreak.)
Wie von Mike Christian vorgeschlagen, habe ich moles.exe OrigValueP.dll verwendet. Dies erstellt OrigValueP.Moles.dll im Unterordner MolesAssemblies.
Fügen Sie OrigValueP.Moles.dll als Referenz zum Testprojekt hinzu.
OrigValueP.Moles im Objektbrowser anzeigen. Ich sehe jetzt MOrigValue.AllInstances. Das ist ein großer Schritt nach vorne.
Aber ich sehe keine Moles Äquivalent meiner Methode:
public string TestString() { return "Original value"; }
[Gelöschte Zeilen auf den Befehl beziehen, „moles.exe OrigValueP.Moles.dll“, weil MC schlug ich bin "Versuch, die Maulwurf-Baugruppe zu zerstören"]
Also habe ich eine Frage (die ich weiter versuchen werde, selbst zu beantworten): Warum gab es keine Moled-Methode für TestString()?
Danke für die ausführliche Antwort. Ich werde jetzt mit allen Vorschlägen beginnen. Da Express-Benutzer Wege gefunden haben, viele Einschränkungen "manuell" zu umgehen, habe ich mich gefragt, ob es auch möglich ist, Moles manuell zu erzwingen. Denken Sie daran, dass es für Klassen und Methoden "System" und "Mscorlib" funktioniert (was sehr nützlich ist), also versuche ich nur zu sehen, ob ich es zwingen kann, mit vom Benutzer geschriebenem Code zu arbeiten. – OldGrantonian