草庐IT

java - 如何使用 MockMvc 为 POST 提供请求参数

我尝试联合以下Controller@RequestMapping(value="actions.htm",params="reqType=delete",method=RequestMethod.POST)@ResponseBodypublicStringdeletePendingAction(@RequestParam("aPk")LongaPk){pendingActionsService.deletePendingAction(aPk);return"Deleted";}我使用params="reqType=delete",我认为这就是junit无法映射到Controller的原

java.lang.AssertionError : Content type not set - Spring Controller Junit Tests 错误

我正在尝试对我的Controller进行一些单元测试。无论我做什么,所有Controller测试都会返回java.lang.AssertionError:Contenttypenotset我正在测试这些方法是否返回json和xml数据。这里是Controller的例子:@Controller@RequestMapping("/mypath")publicclassMyController{@AutowiredMyServicemyService;@RequestMapping(value="/schema",method=RequestMethod.GET)publicResponse

java - 如何使用 MockMVC 传递 Controller 的 @RequestBody 参数

带有@RequestParam注解的参数可以通过使用:post("/******/***").param("variable","value")但是如何传递带有@RequestBody注解的参数值呢?我的测试方法是:@TestpublicvoidtestCreateCloudCredential()throwsException{CloudCredentialsBeancloudCredentialsBean=newCloudCredentialsBean();cloudCredentialsBean.setCloudType("cloudstack");cloudCredential

java - 如何使用 Spring MVC 和 MockMVC 为文件上传发布多部分/表单数据

我使用javax.ws.rs创建了一个效果很好的照片uploader。这是它的签名和基本要点:@POST@Path("/upload/photo")@Consumes("multipart/form-data")@Produces("application/json")publicStringuploadPhoto(InputStreamstream){try{intread=0;FileOutputStreamfos=newFileOutputStream(file);CountingOutputStreamout=newCountingOutputStream(fos);byte[

java - Hamcrest 与 MockMvc : check that key exists but value may be null

我正在使用MockMvc进行一些测试,我想验证JSON响应的结构。具体来说,我想确保属性的键存在,并且该值是特定类型或null。{"keyToNull":null,#Thismaybenull,oraString"keyToString":"somevalue"}以下对我有用,但我想知道是否有办法将每组两个期望组合成一行,因为我有很多属性要检查:importstaticorg.springframework.test.web.servlet.result.MockMvcResultMatchers.*;importstaticorg.hamcrest.Matchers.*;.andEx

java - Spring Test MockMvc 对外部 URL 执行请求

我正在尝试对当前上下文之外的URL执行POST请求,看起来Spring无法理解它。测试代码:Stringcontent=mvc.perform(post("http://some-external-url.com:8080/somepath).header("Authorization",authorization).contentType(MediaType.APPLICATION_FORM_URLENCODED).param("username",username).param("password",password).andExpect(status().isOk()).andR

java - 使用 Spring mockMvc 测试可选路径变量

我在SpringMVC中有一个带有可选路径变量的方法。我正在尝试在未提供可选路径变量的情况下对其进行测试。来自Controller的片段,要调用的资源URI-@RequestMapping(value="/some/uri/{foo}/{bar}",method=RequestMethod.PUT)publicResponseEntitysomeMethod(@PathVariable("foo")Stringfoo,@PathVariable(value="bar",required=false)Stringbar){LOGGER.info("foo:{},bar:{}",foo,b

java - 使用 Spring MockMVC 时如何从 JSON 响应中提取值

我有一个接受POST请求的端点。我想从JSON响应中获取新创建的实体的ID。下面是我尝试执行此操作的一段代码。mockMvc.perform(post("/api/tracker/jobs/work").contentType(TestUtil.APPLICATION_JSON_UTF8).content(TestUtil.convertObjectToJsonBytes(workRequest))).andExpect(status().isCreated());如果我得到该ID,我将在数据库中查询新创建的实体并执行如下断言:Workwork=workservice.findWork

java.lang.NoSuchMethodError : javax. servlet.http.HttpServletRequest.isAsyncStarted() 同时使用 Mockito 和 Junit

我正尝试着手研究TDD。我正在尝试使用Mockito结合MockMvc和Junit为Controller编写单元测试用例。但是我遇到了一个运行时错误,因此我的测试失败了。起初,由于找不到javax.servlet.SessionCookieConfig,我在设置中初始化MockMvc实例时遇到问题。我通过下载javax.servletapi并将其配置到项目的构建路径中解决了这个问题,但随后我面临着java.lang.NoSuchMethodError:javax.servlet.http.HttpServletRequest.isAsyncStarted()在MockMvc实例上使用p

java - 使用 MockMvc 在 Spring MVC 中进行单元测试/登录

我有一个使用SpringMVC创建的非常简单的REST应用程序。(代码可在GitHub获得。)它有一个简单的WebSecurityConfigurer。如下:@Overrideprotectedvoidconfigure(HttpSecurityhttpSecurity)throwsException{httpSecurity.csrf().disable().exceptionHandling().authenticationEntryPoint(authenticationEntryPoint).and().authorizeRequests().antMatchers("/use