Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Java 有什么办法可以得到这个“答案”吗;“基本URL”;测试时,是否为弹簧中的控制器?_Java_Spring Mvc - Fatal编程技术网

Java 有什么办法可以得到这个“答案”吗;“基本URL”;测试时,是否为弹簧中的控制器?

Java 有什么办法可以得到这个“答案”吗;“基本URL”;测试时,是否为弹簧中的控制器?,java,spring-mvc,Java,Spring Mvc,我有一个控制器类,看起来像这样: @RestController @请求映射(“控制器”) 公共类控制器{ @请求映射(“foo”) 公共字符串方法(){ 返回“foo'd the bar”; } } 我的测试是这样的: @WebMvcTest(Controller.class) 公共类控制器测试{ @自动连线 专用控制器; @自动连线 私有MockMvc-MockMvc; @试验 public void canCreate()引发异常{ Assertions.assertThat(contr

我有一个控制器类,看起来像这样:

@RestController
@请求映射(“控制器”)
公共类控制器{
@请求映射(“foo”)
公共字符串方法(){
返回“foo'd the bar”;
}
}
我的测试是这样的:

@WebMvcTest(Controller.class)
公共类控制器测试{
@自动连线
专用控制器;
@自动连线
私有MockMvc-MockMvc;
@试验
public void canCreate()引发异常{
Assertions.assertThat(controller.isNotNull();
}
@试验
public void canGetDummy()引发异常{
this.mockMvc.perform(get(“/controller/foo”).andDo(print()).andExpect(status().isOk());
}
}
这对我来说似乎有点脆弱,对于测试的
n
方法,控制器的“基本URL”至少硬编码在
n+1
位置。有没有办法配置测试以避免这种情况(因此我将编写
/foo
而不是
/controller/foo
)?我可以使用静态变量,但似乎应该有一个更干净的解决方案


(或者我认为这是错误的,并且必须编写完整路径是好的——在这种情况下,为什么?

完整路径
/controller/foo
是您正在测试的Web API的一部分。如果愿意,您可以将字符串部分提取为常量,但以这种或那种方式将其直接包含在测试中是一件好事。

完整路径
/controller/foo
是您正在测试的Web API的一部分。如果愿意,您可以将字符串部分提取为常量,但以这种或那种方式将其直接包含在测试中是一件好事