ich VS2010 bin mit, habe ich den folgenden Methodenaufruf:Machen MSTest respektieren [Conditional()] Attribut?
[Conditional("DEBUG")]
public void VerboseLogging() { }
public void DoSomething() {
VerboseLogging();
Foo();
Bar();
}
Dann habe ich einen Komponententest für die DoSomething
Methode, die überprüft, ob es der richtige Protokollierung aussendet.
[Conditional("DEBUG"), TestMethod()]
public void EnsureVerboseLog() {
DoSomething();
VerifyVerboseLoggingCalled(); // <-- fail in release builds since VerboseLogging() calls get eliminated.
}
Es scheint, dass MSTest sieht nur TestMethod
und führt sie aus (Erzeugen fehlgeschlagenen Test), obwohl ich es mit Conditional("DEBUG")
markiert haben und es im Release-Modus kompilieren.
Also gibt es eine Möglichkeit, bestimmte Tests abhängig von der Kompilierungskonstante außer #if
auszuschließen?
MSTest einen großen zu MbUnit/Kairo im Vergleich zum kotzen, eh? –