[JAVA] Demande de Json dans le test unitaire du contrôleur à l'aide de MockMvc

Aperçu

Faites une requête Json dans le test du contrôleur à l'aide de MockMvc de Spring.

supposition

Méthode à tester

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

Ajouter Jackson comme dépendance

Jackson est utilisé pour la conversion entre Java et Json. Voici un exemple de Maven.

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

Demande de Json dans le test unitaire

Voici un exemple de Spock.

def "Demande de publication Json"() {
    setup:
    //Convertir des objets au format Json dans Jackson
    def hoge = new Hoge();
    ObjectMapper mapper = new ObjectMapper();
    String json = mapper.writeValueAsString(hoge);

    expect:
    mockMvc.perform(MockMvcRequestBuilders
        .post('/hoge')
        //Paramètre de type de contenu
        .contentType(MediaType.APPLICATION_JSON)
        //Paramètres Json
        .content(json)
    ).andExpect(
        MockMvcResultMatchers.status().is(HttpStatus.OK.value()),
    )
}

référence

Recommended Posts

Demande de Json dans le test unitaire du contrôleur à l'aide de MockMvc
Tester la réponse JSON de l'API REST créée par Spring MVC à l'aide d'AssertJ avec MockMvc
Test unitaire d'architecture avec ArchUnit
Exemple de code pour le test unitaire d'un contrôleur Spring Boot avec MockMvc
Importance de l'existence d'un test unitaire (auto-discussion)
[RSpec] Test unitaire (avec gem: factory_bot)
Confirmation et refactoring du flux de la requête au contrôleur dans [httpclient]
[rails] Liste des actions définies dans Controller
Essayez d'utiliser l'API au format JSON en Java
Correspondance de la partie où l'authentification # getDetails est effectuée dans le test unitaire de spring-security
Testez le contrôleur avec Mock MVC dans Spring Boot
Création automatique du rapport de résultat du test unitaire Java
Histoire de l'automatisation des tests avec Appium [Android / java]