Как запустить тесты на Spring c использованием gradle?

Здравствуйте дорогие коллеги! Ситуация:

  • -Spring Boot проект;
  • -сборщик Gradle;
  • -сервис по адресу http://localhost:8082/formhtml должен отдать страницу с текстом.
  • на всякий случай проект на GitHub:этот проект на гите

вот тест:

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
public class MainPageTest {
    @Autowired
    private MockMvc mockMvc;

    @Test
    public void contextLoads() throws Exception {
        this.mockMvc.perform(get("http://localhost:8082/formhtml"))
                .andDo(print())
                .andExpect(status().isOk())
                .andExpect(content().string(containsString("Financial forecast:")));

    }
}

файл Gradle:

plugins {
    id 'org.springframework.boot' version '2.3.0.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
    id 'io.freefair.lombok' version '5.0.0'

}

group = 'kondratov.spring_feign'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

ext {
    set('springCloudVersion', 'Hoxton.SR5')
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.cloud:spring-cloud-starter-openfeign'
    implementation 'org.springframework.boot:spring-boot-starter'//добавил
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 
    implementation 'org.springframework.boot:spring-boot-starter-tomcat'
    implementation 'org.springframework:spring-test'

    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

во-первых: @Runwith горит красным и предлагает добавить JUNIT требует JUnit

во-вторых: после добавления, и попытки выполнения теста падает с такими словами: введите сюда описание изображения

Собственно вопрос, не пойму как подойти к тестированию: Что добавить в зависимости, какие аннотации использовать и т.д. Эти аннотации я взял и учебного проекта на ютубе, но там мавен и Junit-а в зависимостях нет. В общем кто что посоветует? Большое спасибо!


Ответы (2 шт):

Автор решения: denis Krivorutchko
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.7.0</version>
    <scope>test</scope>
</dependency>

добавте в ваш pom.xml файл если у вас сборка через мавен


вот зависимость для Gradle
// https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.7.0'
→ Ссылка
Автор решения: Темка тоже

@RunWith Это часть Junit 4. В Junit 5 эта часть заменена на @ExtendWith, следовательно первое можно удалить. А второе можно не добавлять, т.к. оно уже есть на @SpringBootTest. После чего всё должно заработать.

P.S. Удали @SpringBootApplication c kondratov.spring_feign.feign.PropertyService.

→ Ссылка