我有一个在一个(主)线程中工作的 java 代码。从主线程中,我生成了一个新线程,我在其中进行了服务器调用。服务器调用完成后,我在新线程中做一些工作,然后代码加入主线程。
我正在使用 Eclipse Jobs 进行服务器调用。
我想知道,如何为此编写 JUnit 测试用例。
原文由 stalwalk 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个在一个(主)线程中工作的 java 代码。从主线程中,我生成了一个新线程,我在其中进行了服务器调用。服务器调用完成后,我在新线程中做一些工作,然后代码加入主线程。
我正在使用 Eclipse Jobs 进行服务器调用。
我想知道,如何为此编写 JUnit 测试用例。
原文由 stalwalk 发布,翻译遵循 CC BY-SA 4.0 许可协议
这就是我创建 ConcurrentUnit 的目的。一般用法是:
有关详细信息,请参阅 ConcurrentUnit 页面。
原文由 Jonathan 发布,翻译遵循 CC BY-SA 4.0 许可协议
15 回答8.2k 阅读
8 回答6k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
您可能需要重构您的代码,以便可以轻松地对其进行测试。
我可以看到几个不同的测试区域:
构建您的实现,以便您的线程管理代码与 Worker 的详细信息无关。然后您可以使用 Mock Worker 来启用线程管理的测试——例如,一个以某些方式失败的 Mock Worker 允许您测试管理代码中的某些路径。
实现 Worker 代码,使其可以隔离运行。然后,您可以对服务器使用模拟来独立地对其进行单元测试。
对于并发测试,Abhijeet Kashnia 提供的链接会有所帮助。