首页 > 解决方案 > 来自 spring boot junit5 的 InvalidUseOfMatchersException

问题描述

我有以下junit5课程Spring Boot Application

@ExtendWith(MockitoExtension.class)
public class EmployeeServiceITCase {
  @Mock
  private EmployeeRepository employeeRepository;

  private Map<String, List<Employee>> cache;
  private EmployeeService employeeService;

  @BeforeEach
  public void setUp() throws Exception {
    cache = new ConcurrentHashMap<>();
    SimpleMeterRegistry meterRegistry = new SimpleMeterRegistry();
    employeeService = new EmployeeService(employeeRepository, cache, meterRegistry);
    when(employeeRepository.findActiveEmployee()).thenReturn(buildDataFromDB());
  }

  @Test
  public void shouldLoadDataFromDBtoCache(){
    
    employeeService.loadEmployeeData();
    assertNotNull(cache);
    Assertions.assertTrue(cache.containsKey("123"));
    Assertions.assertTrue(cache.containsKey("324"));
  }
}

loadEmployeeData()从数据库加载数据并放入缓存。

我能够从 IntelliJ IDE 运行以上测试,但是当我通过 maven failsafe 和 surefire 插件运行以上测试以进行覆盖时,我得到了

org.mockito.exceptions.misusing.InvalidUseOfMatchersException:例外。

我不确定我在这里缺少什么。

标签: javaspring-bootjunit5spring-boot-test

解决方案


推荐阅读