Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
模拟MVC javax.validation测试_Validation_Unit Testing_Spring Mvc_Mockito - Fatal编程技术网

模拟MVC javax.validation测试

模拟MVC javax.validation测试,validation,unit-testing,spring-mvc,mockito,Validation,Unit Testing,Spring Mvc,Mockito,我想模拟我的验证来测试 大小验证未在我的测试中运行。id的最大大小是40个字符,当我用42个长id测试它时,我会等待一个异常 MyObject.java MyTest.java: 我已经嘲笑了所有必要的服务。这些文件位于XML文件中,如下所示: <bean id="mockValidator" class="org.mockito.Mockito" factory-method="mock"> <constructor-arg value="javax.va

我想模拟我的验证来测试

大小验证未在我的测试中运行。id的最大大小是40个字符,当我用42个长id测试它时,我会等待一个异常

MyObject.java

MyTest.java:

我已经嘲笑了所有必要的服务。这些文件位于XML文件中,如下所示:

<bean id="mockValidator" class="org.mockito.Mockito" factory-method="mock">
        <constructor-arg value="javax.validation.Validator"/>
</bean>

从UI,一切正常。

1)遇到的异常的完整堆栈跟踪是什么?2)为什么要模拟
验证程序
?3)如果使用
MockMvc
中的
standaloneSetup()
方法,那么模拟
ApplicationContext
中的任何内容都没有意义,因为
standaloneSetup()
根本不使用您的
ApplicationContext
。这就是为什么它是“独立的”。如果您想使用自己的
ApplicationContext
,您需要使用
MockMvcBuilders
中的
webAppContextSetup()
方法。4)您正在测试的控制器方法的签名是什么?@BravoNine,您解决了这个问题吗?我已经在使用webAppContextSetup(),但它还不起作用
@Autowired
private Validator validator; // javax.validation.Validator

@Before
public void setUp() {
    mockMvc = MockMvcBuilders.standaloneSetup(MyController).build();
}

@Test
public void Test() throws Exception {
    myObject.setId(StringUtils.repeat("k", 42);
    mockMvc.perform(post(MY_URL)
                .contentType(MediaType.APPLICATION_JSON)
                .content(mapper.writeValueAsString(myObject)))
                .andExpect(status().isBadRequest())
                .andExpect(content().contentType(APPLICATION_JSON_WITH_UTF8));
}
<bean id="mockValidator" class="org.mockito.Mockito" factory-method="mock">
        <constructor-arg value="javax.validation.Validator"/>
</bean>
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NumberFormatException: For input string: "kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk"