我需要运行一个集成测试,但是有一些问题,我知道人们在其他答案中要说的第一件事就是将方法的无限循环中的内容提取出来并进行测试,但这并不是那样。很简单,因为我们正在从工厂预先创建一些在运行时在循环中使用的东西,我想通过集成测试来测试应用程序的整个流程。
while (true) {
retrieveMessage();
}
我想接收我已发送的一条消息,然后退出(在部署时仅从集成测试中而不从正在运行的应用程序中退出)。
我已经考虑过做类似的事情
if ("test".equals(getSpringActiveProfile()) {
break;
}
但是将它专门写给我的代码来进行测试会是个坏习惯?
任何想法或想法都会受到赞赏。
谢谢
一般来说,程序应该以一种“自然”的方式退出,无限循环本身就是一种代码气味……我会寻找这样的方法: