我正在尝试测试我的控制器方法,它将输入参数作为我应用程序中的一个对象。我知道如何用字符串作为输入参数进行测试,但不知道如何用定制的对象进行测试。
下面是我应用程序中的代码
@RequestMapping(value = "/someUrl", method = RequestMethod.POST)
public ResponseEntity<?> save(@RequestBody Transaction transaction) {
我认为下面的测试代码是测试的方法之一。但它失败了
@Test
public void test() throws Exception {
Transaction Transaction = new Transaction();
Gson gson = new Gson();
String json = gson.toJson(transaction);
mockMvc.perform(post("/someUrl")
.contentType(MediaType.APPLICATION_JSON)
.content(json));
当我运行上面的测试时,我得到一个错误,说“实际上,这个模拟没有任何交互”。
你能帮我把定制对象传递给MockMvc post方法吗。
mapper。writeValueAsString(json)
是一种更好的方法
我正在为我的Spring MVC控制器设置单元测试,并试图利用Spring MVC测试框架。对于控制器中的每个endpoint,我希望确保只有具有指定权限的用户才能访问。我的问题是,在使用mockMvc工具解决这个问题时,我使用了一个自定义用户实现,并获得了类强制转换异常。 对于每个请求,我希望它看起来像这样: 我想以某种方式调整上述语句,以指定我的自定义用户主体。请参见下面Spring的用户方法
我有一个返回对象列表的MockMVC测试。我正在尝试检查此特定属性是否设置正确。 然而,除了显式添加之外,我无法用任何方式使它匹配。KeyPair是一个简单的Pair类,有一个键值,非常类似于一个映射的条目。 我尝试了几种选择 is( keyList ) is( keyList.toString() ) 是(Gson.toJson(keylist) is(mapper . writevalueas
ObjectBean类 所以我的问题是:我如何使用Spring mockMVC测试这个方法?
我试图使用spring和mockito对rest控制器进行单元测试。这是我的主控制器方法。 这是我的JUnit测试: 在输出响应中,测试失败,因为它得到404错误,但它预期成功代码为200。我相信我已经正确设置了独立配置,我会做错什么。为什么URI没有正确映射到方法?请注意,对于来自应用程序前端的相同URI,它工作正常。以下是我使用Postman工具为chrome测试的正确200响应的完整URI:
我有控制器: 如果我通过chrome窗口发送请求,控制器可以工作。但是当我为这个方法编写测试时,我遇到了问题。未转换对象,未插入值。 测试: 输出为>>>Dto{ID=null,enabled=false} 如何用内容类型application/x-www-form-urlencoded中的自定义对象测试Post请求?