Unit testing TDD多线程应用程序

Unit testing TDD多线程应用程序,unit-testing,tdd,testdrivendesign,Unit Testing,Tdd,Testdrivendesign,有没有人能解释一下多线程功能是如何以纯TDD的方式开发的。(可能有一些C#或Java的例子) 提前感谢。简而言之 首先断言在线程上运行的代码是有效的。功能方面。简单的单元测试-没有线程。您可以提取一个类型(示例名Executor),该类型抽象了线程方面。e、 g.执行(代码块),在生产中产生一个新线程,在该线程上执行代码块。在测试中,代码块在调用线程上执行,就像函数调用一样 接下来编写一个使用生产执行器的压力测试。生成多个线程并在不变量上断言。i、 e.不管产生了多少线程,都必须/不必须发生的

有没有人能解释一下多线程功能是如何以纯TDD的方式开发的。(可能有一些C#或Java的例子)

提前感谢。

简而言之

  • 首先断言在线程上运行的代码是有效的。功能方面。简单的单元测试-没有线程。您可以提取一个类型(示例名Executor),该类型抽象了线程方面。e、 g.执行(代码块),在生产中产生一个新线程,在该线程上执行代码块。在测试中,代码块在调用线程上执行,就像函数调用一样
  • 接下来编写一个使用生产执行器的压力测试。生成多个线程并在不变量上断言。i、 e.不管产生了多少线程,都必须/不必须发生的事情
这还有其他一些细微差别——取决于您是在生成多个线程(主动)还是在不同的线程上被调用(被动)。我建议你读一下史蒂夫弗里曼和纳普里斯在古斯的书中有关线程的章节