我有一个问题。请求你的帮助。
我们有一个spring boot应用程序,我编写了没有Mocks的集成测试,而是使用 TestRestTemplate 和 @SpringbootTest
。
所以在本地机器上,当我执行测试时,它们执行正常,因为我在MyApplication.class
内给出了@SpringbootTest
它将启动spring应用程序上下文并执行测试。
直到这里一切都很好。
但我们将此应用程序部署在不同的测试环境中,如qa,e2e,staging,然后再生产。 因此,我们必须执行Jenkins Job以针对上述环境进行集成测试,作为验收测试。
我的问题是:
请帮助..我对春季靴子有点新意并且被困在这里。
非常感谢您提前
答案 0 :(得分:0)
如果要使用TestRestTemplate
或RestTemplate
并希望由Spring配置它,答案是否定的。您甚至必须将webEnvironment
中的SpringBootTest
设置为RANDOM_PORT
或DEFINED_PORT
,否则上下文将没有TestRestTemplate
如果您愿意手工配置它,那么您将不需要SpringBootTest
注释,也就不会有任何Spring上下文。
TestRestTemplate
非常适合作为SpringBootTest
的一部分在localhost上调用当前应用程序。集成测试还有其他选择,例如RestAssured,这些不需要Spring来执行。