Простой модульный тест, при запуске которого выдается ошибка "Тесты не найдены" - PullRequest
0 голосов
/ 25 февраля 2020

В моем проекте Springboot мне не нужно юнит-тестировать эти mvc вещи, но некоторые чистые классы POJO.

Мой класс pojo:

public class Calculator {

   public int add(int a, int b) {
       return a+b;
   }
}

Мой тестовый класс:

@ExtendWith(SpringExtension.class)
public class SimpleTest {
    @Test
    void testIt() {
      Calculator cal = new Calculator();
      int result = cal.add(1, 2);
      assertThat(result).isEqualTo(3);
    }
}

Я использую Intellij IDE. Рядом со строкой кода void testIt() слева есть маленькая стрелка запуска, когда я нажимаю и запускаю тестовую функцию, я получаю ошибку:

FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':test'.
> No tests found for given includes: [com.my.calculator.SimpleTest.testIt](filter.includeTestsMatching)

Почему я получаю эту ошибку No test found ?

Кстати, зависимости моего проекта для теста:

testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.1'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.assertj:assertj-core'

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Я считаю, что spring-boot-starter-test импортирует другую версию junit, ie jupiter - это Junit 5, и я считаю, что spring-boot-starter-test использует Junit 4, поэтому будьте осторожны при смешивании версий. Я скопировал mvn-зависимость из spring-boot-starter-test ниже (он использует junit 4).

testImplementation 'org.junit.jupiter:junit-jupiter-api:5.3.1'
testImplementation 'org.springframework.boot:spring-boot-starter-test'

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>compile</scope>
</dependency>
0 голосов
/ 25 февраля 2020

Вы можете проверить, есть ли у вас следующая часть:

test {
    useJUnitPlatform()
}
...