如何使用所需参数模拟 Runnable 子类的 运行() 方法
How to mock run() method of Runnable subclass with required parameters
我有一个实现 Runnable 接口的事件 class。如何为此 class 编写单元测试?
@Component("Event")
@RequiredArgsConstructor
@Slf4j
public class Event implements Runnable {
private final Person person;
private final Student student;
@Override
public void run() {
//somecode;
}
}
看了很多帖子,终于找到了解决办法。
由于 @RequiredArgsConstructor
参数,创建 Event class 的对象不会通过无参数构造函数发生。
单元测试用例中的代码 class :
@Mock Person person;
@Mock Student student;
@Injectmocks Event event;
@Test
private void testfunction(){
Event event = new Event(person,student);
event.run();
//mockito.verify()...
}
我有一个实现 Runnable 接口的事件 class。如何为此 class 编写单元测试?
@Component("Event")
@RequiredArgsConstructor
@Slf4j
public class Event implements Runnable {
private final Person person;
private final Student student;
@Override
public void run() {
//somecode;
}
}
看了很多帖子,终于找到了解决办法。
由于 @RequiredArgsConstructor
参数,创建 Event class 的对象不会通过无参数构造函数发生。
单元测试用例中的代码 class :
@Mock Person person;
@Mock Student student;
@Injectmocks Event event;
@Test
private void testfunction(){
Event event = new Event(person,student);
event.run();
//mockito.verify()...
}