![]() |
1
5
您可以注入一个“提供者”(一个非常简单的工厂),负责这一行:
然后您的测试将注入一个非常缓慢的提供者实现。这样,测试中的两个线程就更容易发生冲突。您可以让第一个线程等待第二个线程释放的信号量。然后,测试的成功将确保等待线程超时。通过给第一个线程一个开头,您可以确保它在第二个线程释放之前等待。 |
![]() |
2
3
这很难,虽然可能——可能比它的价值更难。已知的解决方案涉及测试代码。讨论 here, "Extreme Programming Challenge Fourteen" 值得仔细检查。 |
![]() |
3
2
my project ,在我的四核机器上运行测试大约需要2秒钟。当我想要测试并发部分时(有一些测试),我在IntelliJ IDEA中按住运行所有测试的热键,直到我在状态栏中看到20、50或100个测试运行正在执行。我在Windows任务管理器中跟踪CPU和内存使用情况,以了解所有测试运行何时完成执行(当所有测试运行时,内存使用增加1-2GB,然后缓慢下降)。
还有一些框架,如 http://www.alphaworks.ibm.com/tech/contest 它使用字节码操作来强制代码进行更多的线程切换,从而增加了并发错误可见的可能性。 |
![]() |
4
2
this question . 希望这会有所帮助,即使那里没有测试。希望链接比复制答案更好。。。 |
![]() |
5
1
第12章 Java Concurrency in Practice 被称为“测试并发程序”。它记录了安全性和活性的测试,但表示这是一个困难的课题。我不确定用那一章的工具能解决这个问题。 |
![]() |
6
0
你能比较一下返回的实例,看看它们是相同的实例还是不同的实例吗?这可能就是我从C#开始的地方,我想在java中也可以这样做 |
![]() |
S4beR · jest-手表模式错误 7 年前 |
|
M.C · 如何从Ruby TDD哈希数组中返回名称 7 年前 |
![]() |
Maverick94 · Python unitest不工作 7 年前 |
![]() |
erexo · Moq模拟。Of<Obj>vs new Obj(); 7 年前 |
![]() |
jpuriol · JUnit测试中的“单例” 7 年前 |
![]() |
Py.Jordan · 如何在Python中模拟用户输入 7 年前 |