[英]spawning threads in a unit test
有很多关于如何对线程代码进行单元测试的信息,而不是在单元测试方法中生成线程以测试同步机制。
[TestMethod]
public void TestDiscountThreading() {
Thread[] threads = new Thread[50];
for (int i = 0; i < threads.Length; i++) {
threads[i] = new Thread(PriceThread);
threads[i].Start();
}
for (int i = 0; i < threads.Length; i++)
threads[i].Join();
}
我想强调测试PriceThread中的代码中的同步是否正确实现,但是每次运行该方法时都会出现错误“代理进程在测试运行时已停止”。 是否有可能在单元测试中产生线程或者这里有什么问题?
我使用Visual Studio 2010与随附的单元测试框架
这不是一个完整的答案,但我建议你看看VS 2010 Test Runner错误“测试运行时代理进程已停止。” 为了想法。
你知道在代码中抛出异常的位置吗?
编辑回答:
当主线程以外的线程抛出未处理的异常时,这是结果。 这就是这种情况,即循环或线程本身没有问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.