java - 如何编写 JUnit 测试用例来测试线程和事件

标签 java multithreading events junit rcp

我有一个在一个(主)线程中运行的 Java 代码。从主线程中,我生成了一个新线程,我在其中进行了服务器调用。服务器调用完成后,我在新线程中做一些工作,然后代码加入主线程。

我正在使用 eclipse Jobs 进行服务器调用。

我想知道,如何为此编写 JUnit 测试用例。

最佳答案

您可能需要重构代码以便于测试。

我可以看到几个不同的测试区域:

  1. 线程管理代码:启动线程并可能等待结果的代码
  2. 线程中运行的“worker”代码
  3. 多线程激活时可能出现的并发问题

构建您的实现,以便您的线程管理代码与 Worker 的详细信息无关。然后,您可以使用 Mock Worker 来启用线程管理测试 - 例如,在某些方面失败的 Mock Worker 允许您测试管理代码中的某些路径。

实现 Worker 代码,使其可以独立运行。然后,您可以对服务器使用模拟来独立地对其进行单元测试。

对于并发测试,Abhijeet Kashnia 提供的链接会有所帮助。

关于java - 如何编写 JUnit 测试用例来测试线程和事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5336251/

相关文章:

c++ - 创建qt线程事件循环

windows - 如何安排 Windows 任务在注销时运行

java - 获取JAVA中数组中数字之差的总和

java - 通过 GET 参数传递复杂的数据结构?

Linux 上的 Java + PDFBox

c++ - 三个原子变量上的 CompareAndExchange

java - Java多线程环境下访问数据库

angular - 如何获取动态 Angular 形式的变化事件的值?

将新添加的应用程序写入内存的 Windows 事件

java - 如何更改聚焦 JComboBox 的突出显示颜色