Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为线程类编写Junit测试用例_Java_Multithreading_Junit_Mockito - Fatal编程技术网

Java 如何为线程类编写Junit测试用例

Java 如何为线程类编写Junit测试用例,java,multithreading,junit,mockito,Java,Multithreading,Junit,Mockito,我有一个MyThread类,它要么扩展线程,要么实现可运行接口。MyThread类构造函数和一些私有方法以及run()方法已定义 为类编写junit测试用例的正确方法是什么?我可以通过在测试方法中直接调用run()方法来编写测试用例吗?还是应该创建线程实例并执行thread.start() 不要延伸线程。实现可运行。测试run()方法的方法与测试任何“普通”方法的方法相同 这种方法的明显好处是您根本不需要处理并发性。我认为您不应该使用单元测试进行并发性测试,而应该使用集成测试。最终目标只是代码覆

我有一个MyThread类,它要么扩展线程,要么实现可运行接口。MyThread类构造函数和一些私有方法以及
run()
方法已定义


为类编写junit测试用例的正确方法是什么?我可以通过在测试方法中直接调用
run()
方法来编写测试用例吗?还是应该创建线程实例并执行
thread.start()

不要延伸线程。实现可运行。测试run()方法的方法与测试任何“普通”方法的方法相同


这种方法的明显好处是您根本不需要处理并发性。

我认为您不应该使用单元测试进行并发性测试,而应该使用集成测试。最终目标只是代码覆盖率和集成测试。我不担心并发性测试。线程应该非常简单。您可能希望将真正的逻辑外包到一个单独的类中,并在线程中调用它。然后,您可以轻松地使用JUnit编写代码覆盖率测试。