Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.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
Spring 在post请求中从spock测试用例中删除硬编码URL_Spring_Groovy_Spock - Fatal编程技术网

Spring 在post请求中从spock测试用例中删除硬编码URL

Spring 在post请求中从spock测试用例中删除硬编码URL,spring,groovy,spock,Spring,Groovy,Spock,我已经编写了基本的spring Spock测试,我能够成功地完成它,但问题是,现在我在post请求中调用的URL不是相对的,而是指向我的本地URL http://localhost:88/rty/user/user1/applications/ZZZ78R/users/409?username=ABCedit 因此,如果在本地主机不可用的测试环境中运行,请建议如何在下面的Spock测试用例中更正我的URL @SpringBootTest 类AuthenticationFactorControl

我已经编写了基本的spring Spock测试,我能够成功地完成它,但问题是,现在我在post请求中调用的URL不是相对的,而是指向我的本地URL

http://localhost:88/rty/user/user1/applications/ZZZ78R/users/409?username=ABCedit
因此,如果在本地主机不可用的测试环境中运行,请建议如何在下面的Spock测试用例中更正我的URL

@SpringBootTest
类AuthenticationFactorControllerSpec扩展了规范{
def“当服务器启动并发出post请求时,应获得状态201”(){
什么时候:
HttpEntity HttpEntity=新的HttpEntity()
ResponseEntity=new RestTemplate()。postForEntity(“http://localhost:88/rty/user/user1/applications/ZZZ78R/users/409?username=ABCedit,httpEntity,String.class)
然后:
entity.statusCode==HttpStatus.CREATED
}
}
在测试运行程序(命令行、IDE、Maven/Gradle)中,您可以设置

  • 环境变量或
  • Java系统属性
然后在你的测试中你可以评估。例如,其中一个变量/属性可能包含

  • 基础URL取决于环境(本地执行、开发系统、集成测试系统、验收测试系统等)或
  • 将根据此变量设置符号名称,如“本地”、“开发”、“集成”、“接受”,以及不同类型的环境特定变量,如URL、用户名等
我建议使用名为
test.env
test\u env
或类似的Java系统属性,并结合Spock基类对其进行评估,并设置测试所需的其他属性。基本URL将是其中之一。您的所有测试都可以扩展这个基类,并从预先配置的属性中获益,以便在测试执行期间随时方便地访问它们