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
Java 测试开发和生产时使用不同的URL_Java_Spring_Unit Testing_Jenkins_Tdd - Fatal编程技术网

Java 测试开发和生产时使用不同的URL

Java 测试开发和生产时使用不同的URL,java,spring,unit-testing,jenkins,tdd,Java,Spring,Unit Testing,Jenkins,Tdd,我开始学习服务器端开发,并想做TDD。我还将与Jenkins一起部署以实现持续集成。当我在开发过程中运行测试时,我希望使用“localhost”作为服务器名,但是当使用Jenkins运行测试时,应该使用生产服务器。我如何配置我的JUnit测试以尽可能少的痛苦完成这项工作?我正在用Spring开发后端,因此使用依赖注入可能是正确的解决方案。我只是不知道Spring和DI的确切细节,甚至想不出一个像样的google搜索。您应该使用Spring使用SpringJUnit4ClassRunner连接您的

我开始学习服务器端开发,并想做TDD。我还将与Jenkins一起部署以实现持续集成。当我在开发过程中运行测试时,我希望使用“localhost”作为服务器名,但是当使用Jenkins运行测试时,应该使用生产服务器。我如何配置我的JUnit测试以尽可能少的痛苦完成这项工作?我正在用Spring开发后端,因此使用依赖注入可能是正确的解决方案。我只是不知道Spring和DI的确切细节,甚至想不出一个像样的google搜索。

您应该使用Spring使用
SpringJUnit4ClassRunner
连接您的测试,并将
PropertySourcePlaceHolderConfigurer
添加到您为测试加载的上下文中。现在,您可以通过多种方式(SystemProperty、属性文件、命令行选项-D)使用服务器名称设置属性。在配置中,您可以使用
${serverName}
获取值。

您是否正在使用maven运行测试?@froderik我正在使用Gradle.aha构建应用程序并运行测试-我不太了解Gradle。在maven中,有一些配置文件可用于此目的。也许格拉德尔也有类似的地方?配置文件可用于参数化不同的环境。@froderik显然Gradle也有类似的功能。谢谢你的提示。我会进一步研究的。这需要一些时间来消化。至少我现在有了一些类名,我可以在谷歌上搜索并阅读更多有关类名的信息。谢谢