【发布时间】:2015-02-12 08:37:16
【问题描述】:
我创建了两个类,它们扩展了 Thread 并实现了 run 方法。
class A extends Thread implements MyInterface {
public void run() {
}
public function() {
B b= new b();
b.start();
}
}
class B extends Thread implements OtherInterafce {
MyClassC object = new MyClassC();
public void run() {
for(;;) {
object.callMethod();
object.callMethod2();
//Perform some operations
}
}
}
现在我想为这些类编写单元测试,由于 B 类正在创建一个守护线程,因此没有退出条件,我不确定如何测试这部分。我可以创建一个 object 的模拟,但我不确定它会运行多少次,所以我应该如何调用这些方法。
【问题讨论】:
-
B 类不创建 线程。 B类是一个
Thread实例,如果其他线程调用new B().start(),它的run()方法将在in线程中运行。
标签: java multithreading unit-testing junit mocking