有很多关于如何对线程代码进行单元测试的信息,但没有关于在单元测试方法中生成线程以测试同步机制的信息。
[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 与随附的单元测试框架一起使用