You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse中运行JUnit报错“junit5测试运行器未找到测试”如何解决?

Spring Boot单元测试提示「NO test found with test runner 'junit5'」解决方案

问题根因

该错误由JUnit4注解与JUnit5(Jupiter)运行环境混用导致:

  • @RunWith是JUnit4专属的运行器配置注解,JUnit5使用@ExtendWith作为扩展机制
  • 你当前测试框架默认使用JUnit5作为运行器,无法识别JUnit4的@Test、@RunWith注解,因此找不到可用测试用例

具体解决步骤

  • 替换类注解配置
    删掉测试类上的@RunWith(MockitoJUnitRunner.class),替换为Mockito对应JUnit5的扩展注解:
    @ExtendWith(MockitoExtension.class)
    注:该类全路径为org.mockito.junit.jupiter.MockitoExtension

  • 修正@Test注解导入
    将原有JUnit4的Test导入import org.junit.Test;替换为JUnit5的Test注解:
    import org.junit.jupiter.api.Test;

  • 调整后的测试类示例:

// 若不需要启动Spring上下文可删掉@SpringBootTest,仅保留@ExtendWith即可提升测试运行速度
@ExtendWith(MockitoExtension.class)
public class CreateUserServiceTest {

    @Mock
    private UserRepository userRepository;

    @InjectMocks
    private CreateUserService createUserService;

    @Test
    public void whenSaveUser_shouldReturnUser() {
        User user = new User();
        user.setName("Test Name");

        when(userRepository.save(ArgumentMatchers.any(User.class))).thenReturn(user);

        User created = createUserService.createNewUser(user);

        assertThat(created.getName()).isSameAs(user.getName());
        verify(userRepository).save(user);
    }
}

依赖检查(Maven为例)

确保pom.xml中已引入JUnit5和对应Mockito扩展依赖,避免类找不到问题:

<dependencies>
    <!-- Spring Boot Test starter 默认包含JUnit5依赖 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <!-- Mockito JUnit5 扩展 -->
    <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

优化建议

你当前的测试仅涉及Service层逻辑,所有依赖都已通过@Mock模拟,无需加载Spring上下文,因此可以删掉类上的@SpringBootTest注解,大幅降低测试启动耗时。

内容的提问来源于stack exchange,提问作者Gulam Samdani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 06:36:04