首页 > 解决方案 > 如何使用所需参数模拟 Runnable 子类的 run() 方法

问题描述

我有一个实现 Runnable 接口的事件类。如何为这个类编写单元测试?

@Component("Event")
@RequiredArgsConstructor
@Slf4j
public class Event implements Runnable {

    private final Person person;
    private final Student student;
    
    @Override
    public void run() {

    //somecode;
    }
}

标签: javarunnable

解决方案


在查看了多个帖子后,我终于得到了解决方案。由于@RequiredArgsConstructor参数创建 Event 类的对象不会通过没有争论的构造函数发生。单元测试用例类中的代码:

@Mock Person person;

@Mock Student student;

@Injectmocks Event event;

@Test
private void testfunction(){

   Event event = new Event(person,student);

   event.run();

   //mockito.verify()...
}

推荐阅读