我们正在使用Spring Boot开发微服务的测试用例。要求之一是,对于每个Junit测试用例,我们需要:
我认为这是一种反模式,但这是必要条件。
我环顾了互联网,但找不到相同的解决方案。我能够启动Web服务器,但是它没有提供任何响应,这可能是因为未将项目分配给服务器。
有人对如何实现这一目标有任何想法吗?
PS:我们不想使用Mockito
答案 0 :(得分:1)
在此之前,我想指出这是一个非常糟糕的做法,应该避免。这种方法不能正确实现单元测试概念,因为您正在测试整个系统,因此JUnit将不是正确的工具。
我四处寻找,但似乎没有找到一个能够做到这一点的Runner(尽管这并不令我感到惊讶),最相似的Runner可能是SpringJUnit4ClassRunner,它可以在您的测试空间中提供完整的Spring上下文,但不会与该应用程序一起上线。
我建议您是否真的要使用此方法,是使用诸如REST Assured之类的工具针对实时应用程序进行端到端API层测试,但这意味着您必须找到另一种启动应用程序的方法,然后将REST保证测试指向该启动的应用程序。也许是一个Shell脚本启动了应用程序,然后启动了REST Assured测试套件,然后在套件结束时放下服务器。
我强烈建议您与您的产品/管理团队聊天,以避免此类情况,因为测试将永远运行,并且如果您要通过REST或其他方式持久存储数据或其他系统,则将污染本地或远程数据库。 SOAP调用。