MSTest:在没有静态变量的情况下保持测试运行中的对象

时间:2016-02-01 15:32:28

标签: c# logging mstest

我正在使用MSTest编写子系统的集成测试。该子系统由几个服务类组成,这些服务类设置和拆卸都很昂贵,还有一些服务类具有我希望在测试运行之间保留的内部状态。显而易见的解决方法是将对象设为静态,并在[ClassInitialize]方法中进行设置。

但是,正在测试的服务在对象中有TraceSource个,并且可以输出非常详细的诊断消息,这使得调试破坏的测试非常容易。

问题是MSTest只生成TraceSource s'运行多个测试时运行的第一个[TestMethod]的输出。除非第一次测试运行,否则测试运行的输出为空。

我无法创建服务类实例变量,因为它需要很长时间才能启动和运行,而我无法使它们成为静态变量,因为我放弃了TraceSource日志记录。 / p>

有没有办法在不使用MSTest中的静态变量的情况下在[TestMethod]之间保留对象?

0 个答案:

没有答案