如何使用MockMVC测试表单时如何将集合设置为参数

问题描述 投票:0回答:1

我想在Spring Boot中为我的Controller创建一些测试。具体来说,我想创建一个处理表单添加新项目的测试。该项目属于Drug类,并且具有[>]的集合

参数:

@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "drug_pet_types", joinColumns = @JoinColumn(name = "drug_id"), inverseJoinColumns = 
@JoinColumn(name = "pet_type_id"))
private Set<PetType> petTypes;`

我也为此表格提供了一个验证器,该验证器不允许使用任何空/空字段。我的问题是如何将一个集合指定为嘲笑Mvc.perform()方法的参数。我放什么代替???????。这是测试:

    @Test
    void testProcessCreationFormSuccess() throws Exception {
        mockMvc.perform(post("/drugs/new")
            .param("name", "Test_Drug")
            .param("batchNumber", "255888")
            .param("expirationDate", "2023-05-10")
            .param("petTypes", "_____?????????____")
        )
            .andExpect(status().is3xxRedirection());
    }```

我想在Spring Boot中为我的Controller创建一些测试。具体来说,我想创建一个处理表单添加新项目的测试。该项目属于毒品类别,并且具有...

java spring spring-boot unit-testing mockmvc
1个回答
0
投票

您可以创建Set个对象的PetType,然后使用JSON将其转换为ObjectMapper字符串

© www.soinside.com 2019 - 2024. All rights reserved.