[JAVA] Jsons Anfrage im Unit Test des Controllers mit MockMvc

Überblick

Stellen Sie im Controller-Test mit Spring's MockMvc eine Json-Anfrage.

Annahme

--Verwenden Sie Spring Boot.

Zu testende Methode

@PostMapping(value = "hoge", consumes = MediaType.APPLICATION_JSON_VALUE)
public void hoge(@RequestBody Hoge hoge) {
    System.out.println("hoge");
}

Fügen Sie "Jackson" als Abhängigkeit hinzu

Jackson wird für die Konvertierung zwischen Java und Json verwendet. Unten ist ein Beispiel für Maven.

<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-jsr310</artifactId>
    <version>2.6.1</version>
</dependency>

Jsons Anfrage im Unit Test

Unten ist ein Beispiel von Spock.

def "Json Post Anfrage"() {
    setup:
    //Konvertieren Sie Objekte in das Json-Format in Jackson
    def hoge = new Hoge();
    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writeValueAsString(hoge);

    expect:
    mockMvc.perform(MockMvcRequestBuilders
        .post('/hoge')
        //Einstellung des Inhaltstyps
        .contentType(MediaType.APPLICATION_JSON)
        //Json-Einstellungen
        .content(json)
    ).andExpect(
        MockMvcResultMatchers.status().is(HttpStatus.OK.value()),
    )
}

Referenz

Recommended Posts

Jsons Anfrage im Unit Test des Controllers mit MockMvc
Testen Sie den Antwort-JSON der von Spring MVC mit AssertJ mit MockMvc erstellten REST-API
Unit-Test der Architektur mit ArchUnit
Beispielcode zum Testen eines Spring Boot-Controllers mit MockMvc
Bedeutung der Existenz eines Unit-Tests (Selbstdiskussion)
[RSpec] Unit Test (mit gem: factory_bot)
Bestätigung und Umgestaltung des Flusses von der Anfrage zum Controller in [httpclient]
[Rails] Liste der in Controller definierten Aktionen
Versuchen Sie es mit der JSON-Format-API in Java
Korrespondenz des Teils, in dem die Authentifizierung # getDetails im Komponententest der Federsicherheit durchgeführt wird
Testen Sie den Controller mit Mock MVC im Spring Boot
Automatische Erstellung eines Java-Unit-Testergebnisberichts
Geschichte der Testautomatisierung mit Appium [Android / Java]