在单元测试中生成线程

服务劳里森

关于如何对线程代码进行单元测试的信息很多,但是关于单元测试方法中用于测试同步机制的派生线程的信息却不多。

[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错误“测试运行时代理进程已停止”。的想法。

您知道异常在代码中的何处抛出吗?

编辑答案:

这是主线程以外的其他线程抛出未处理的异常时的结果。这里就是这种情况,即循环或线程本身没有问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章