Autowired MockMvc ist mit JUnit 5 und Spring Boot nullJava

Java-Forum
Anonymous
 Autowired MockMvc ist mit JUnit 5 und Spring Boot null

Post by Anonymous »

Ich habe einen Klassentest, der mir einen Fehler sendet, wenn ich den Test ausführe.
Ich bin mehreren Threads gefolgt und habe den richtigen Import „import org.junit.jupiter.api.Test“
Daher verstehe ich nicht, warum er mir diesen Fehler sendet:

Kann nicht aufgerufen werden „org.springframework.test.web.servlet.MockMvc.perform(org.springframework.test.web.servlet.RequestBuilder)“ weil „this.mockMvc“ null ist

Mein Code:

Code: Select all

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

@WebMvcTest(TestController.class)
public class ControllerTest {

@Autowired
private MockMvc mockMvc;

@MockBean
private CreateMessageProvider createMessageProvider;

@Test
public void test() throws Exception {
this.mockMvc.perform(get("/test"))
.andDo(print())
.andExpect(status().isOk())
.andExpect(content().string("OK"));
}
}
Gradle-Konfiguration:

Code: Select all

        mockitoCoreVersion = '4.6.1'
mockitoJunitJupiterVersion = '4.6.1'
springBootTestVersion = '2.7.2'
springTestVersion = '5.3.22'

testImplementation "org.springframework.boot:spring-boot-test:$springBootTestVersion"
testImplementation "org.springframework:spring-test:$springTestVersion"
testImplementation "org.mockito:mockito-junit-jupiter:$mockitoJunitJupiterVersion"
testImplementation "org.mockito:mockito-core:$mockitoCoreVersion"
EDIT: Ich habe die Lösung gefunden. Meine Gradle-Datei hatte diese Abhängigkeit nicht:

Code: Select all

testImplementation "org.springframework.boot:spring-boot-starter-test:2.7.2"

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post