我正在尝试为我的服务层类编写一个junit测试用例。
此服务层类中的这些方法调用外部Web服务,该服务部署在单独的计算机上。
我想确保仅在此外部Web服务启动并运行时才执行测试方法。
有没有方便的方法来实现这个目标?
此致
答案 0 :(得分:1)
如果可以的话,我会尽量避免一起引用网络服务。在单元测试中,通常最好避免数据库引用,Web服务调用,http等,因为它们是
我不确定你的电话是如何完成的,但要考虑嘲笑(用mockito之类的东西)。如果您能够模拟调用Web服务的对象,您可以告诉它返回假值(或什么都不做),然后只验证Web服务是否被调用。通过这种方式,您可以确保您的部分代码正常工作,并且只要Web服务正常运行,那么您应该很高兴。
如果你肯定需要访问它,你可以使用try / catches来查看它是否超时,并且如果它没有这样做,则只运行其余的测试。这样,如果服务停止,catch将使测试通过而不会失败。
希望这有帮助