我使用concordion进行端到端测试我的spring boot REST API。
我发现我可以通过@IntegrationTest注释让concordion测试启动我的spring应用程序。如果我手动运行1个concorion测试或所有的一致性测试,这是有效的。但是如果我包含常规单元测试(没有@IntegrationTest),那么一致性测试将失败并带有org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://localhost:8080/myrestservice":Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect.
如果我使用@IntegrationTest注释对我的常规单元测试进行注释,则一切正常。但我想知道是否有人知道更好的方法?
编辑: 我的一致性测试和我的单元测试都有以下其他注释:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
classes = Application.class,
loader = SpringApplicationContextLoader.class)
@WebAppConfiguration
答案 0 :(得分:2)
我猜您在所有测试中共享了一个缓存的ApplicationContext
。您可以通过更改配置源(例如添加空TestConfiguration.class
)或使用配置文件(例如`@ActiveProfiles(“integration”))来更改缓存密钥。