我有一个在一个(主)线程中运行的 Java 代码。从主线程中,我生成了一个新线程,我在其中进行了服务器调用。服务器调用完成后,我在新线程中做一些工作,然后代码加入主线程。
我正在使用 eclipse Jobs 进行服务器调用。
我想知道,如何为此编写 JUnit 测试用例。
最佳答案
您可能需要重构代码以便于测试。
我可以看到几个不同的测试区域:
- 线程管理代码:启动线程并可能等待结果的代码
- 线程中运行的“worker”代码
- 多线程激活时可能出现的并发问题
构建您的实现,以便您的线程管理代码与 Worker 的详细信息无关。然后,您可以使用 Mock Worker 来启用线程管理测试 - 例如,在某些方面失败的 Mock Worker 允许您测试管理代码中的某些路径。
实现 Worker 代码,使其可以独立运行。然后,您可以对服务器使用模拟来独立地对其进行单元测试。
对于并发测试,Abhijeet Kashnia 提供的链接会有所帮助。
关于java - 如何编写 JUnit 测试用例来测试线程和事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5336251/