![]() |
1
5
为什么不创建一个假线程,而不只是检查特定线程是否完成。
编辑
你当然知道,你的
如果需要对另一个方法进行中间调用,您可能还需要小心确保同一个方法不会按顺序被调用两次。 |
![]() |
2
9
你可能想退房 CHESS: A Systematic Testing Tool for Concurrent Software 微软研究中心。它是多线程程序(包括.NET和本机代码)的测试框架。 如果我理解正确,它会用自己的线程库替换操作系统的线程库,以便控制线程切换。然后对程序进行分析,找出线程执行流可以交错的各种可能方式,并针对每种可能的交错重新运行测试套件。 |
![]() |
3
3
如果我没记错的话,这个工具会检查你的代码是否有理论上可能的数据竞争。 关键是不需要运行代码来检查代码是否正确。 |
![]() |
4
2
当您开始多线程处理时,根据定义,您的代码变得不确定,因此在一般情况下,对线程安全性的测试是不可能的。 但是对于您非常具体的问题,如果您在foo中插入长时间的延迟,导致每个foo方法需要一段时间,那么您可以按照您的要求来做。也就是说,在第二个线程进入调用之前返回的第一个线程的可能性基本上为零。 但你真正想要完成的是什么?这个测试应该测试什么?如果您试图验证FoowRappersMutex类是否正常工作,则不会这样做。 |
![]() |
5
0
到目前为止,我已经编写了以下代码。有时它工作,有时测试失败,因为睡眠不足,无法运行所有线程。
|
![]() |
6
0
拯救的恶作剧 |
![]() |
mg610 · 如何开始C++单元测试 2 年前 |
![]() |
Phil Gunning · 使用嵌套函数更改进行模拟测试 2 年前 |
![]() |
shilin agre · 在Python中测试修饰函数 2 年前 |
![]() |
SlipScout · Unittest只传递单个值,而不是获取多个值 2 年前 |
![]() |
Alex · 从实际对象的实例返回默认模拟结果 2 年前 |