Spring 在post请求中从spock测试用例中删除硬编码URL
我已经编写了基本的spring Spock测试,我能够成功地完成它,但问题是,现在我在post请求中调用的URL不是相对的,而是指向我的本地URLSpring 在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
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将是其中之一。您的所有测试都可以扩展这个基类,并从预先配置的属性中获益,以便在测试执行期间随时方便地访问它们