如何使用计时器测试多线程Windows服务?

时间:2011-12-22 06:43:12

标签: c# .net unit-testing

我有一个主题。如何使用UnitTests进行测试?

提前致谢!

1 个答案:

答案 0 :(得分:1)

一般而言:多线程代码的可靠单元测试非常困难。原因是你无法控制线程的运行时间。

一个简单的解决方案是在您的单元测试中启动请求(或者您的线程进程),然后Thread.Sleep()一段时间,并希望您的线程已安排完成工作。然后检查是否所有内容都已正确处理这主要是有效的,但由于调度和计时有时会失败 - 特别是当您在VM中运行单元测试时。您还可以在线程中设置一些事件或状态,以表明它们已经通过了某些阶段,但它可能会变得有点难看。

但是,如果您可以更具体地了解自己在做什么,那么可能会有一些更好的解决方法。