C#:在classcleanup期间捕获测试失败

dFl*_*lat 6 c# unit-testing

是否可以在ClassCleanup中嵌套TestMethods并让它们作为TestMethods而不是常规方法调用运行/行为?

我有一个TestClass来测试我创建的AppMngr类来管理进程.我测试打开/关闭应用程序的能力(例如MyNotepadMngrClass.Open()和... Close()).我还有几个在该过程中工作的类(例如MyNotepadWorkerClass.WriteLine()或... DoSomething()).在测试其他类时,我需要启动记事本并在完成后关闭它.ClassInitialize/ClassCleanup是显而易见的地方.但我想确认记事本已关闭.

所以我为Close操作创建了一个静态[TestMethod].我在MyNotepadWorkerTestClass中从ClassCleanup调用它.它执行关闭操作很好.但是如果我添加类似的东西--Assert.IsFalse(true); - 对于我的close方法的主体,测试运行不会失败.

如果我想要做的事情从根本上是错误的,请告诉我.感谢任何你可以给予帮助.

PS Hey TestStand伙计们,我正在寻找RunSelectedStep期间的Setup/Ceanup行为.TestDriven.NET给了我RunSelectedStep.那么如何在ClassInitialize和ClassCleanup中捕获失败.

Tim*_*ass 3

根据定义,ClassCleanup 是在“测试类中的所有测试都运行之后”使用的(来自 msdn),因此您可能无法在其中添加新的测试方法。您需要重新构建您的测试。