"No tests were found" when 运行 使用 Spock 和 Spring Boot 在 Intellij 中进行单独测试

"No tests were found" when running individual test in Intellij with Spock and Spring Boot

运行 整个测试 class 工作正常。但是,当我尝试单击测试方法旁边的装订线图标时,出现以下错误:

org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover tests

问题与 junit 平台的最新变化有关。不确定到底发生了什么变化,但按照以下步骤对我进行了固定测试:

  1. 将 junit 平台版本更改为 1.5.2(这是最后一个工作):

    <dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-commons</artifactId>
        <version>1.5.2</version>
    </dependency>

  1. 从 spring-boot-starter-test:
  2. 中排除 junit vintage 引擎

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
        <scope>test</scope>
    </dependency>