我正在使用MSTest编写子系统的集成测试。该子系统由几个服务类组成,这些服务类设置和拆卸都很昂贵,还有一些服务类具有我希望在测试运行之间保留的内部状态。显而易见的解决方法是将对象设为静态,并在[ClassInitialize]
方法中进行设置。
但是,正在测试的服务在对象中有TraceSource
个,并且可以输出非常详细的诊断消息,这使得调试破坏的测试非常容易。
问题是MSTest只生成TraceSource
s'运行多个测试时运行的第一个[TestMethod]
的输出。除非第一次测试运行,否则测试运行的输出为空。
我无法创建服务类实例变量,因为它需要很长时间才能启动和运行,而我无法使它们成为静态变量,因为我放弃了TraceSource
日志记录。 / p>
有没有办法在不使用MSTest中的静态变量的情况下在[TestMethod]
之间保留对象?