Junit测试用例::外部Web服务调用

时间:2014-07-09 13:10:39

标签: web-services junit

我正在尝试为我的服务层类编写一个junit测试用例。

此服务层类中的这些方法调用外部Web服务,该服务部署在单独的计算机上。

我想确保仅在此外部Web服务启动并运行时才执行测试方法。

有没有方便的方法来实现这个目标?

此致

1 个答案:

答案 0 :(得分:1)

如果可以的话,我会尽量避免一起引用网络服务。在单元测试中,通常最好避免数据库引用,Web服务调用,http等,因为它们是

  1. 不一致(正如您所说,Web服务可能已关闭)
  2. 不属于这个"单位" - 它们应该单独测试
  3. 我不确定你的电话是如何完成的,但要考虑嘲笑(用mockito之类的东西)。如果您能够模拟调用Web服务的对象,您可以告诉它返回假值(或什么都不做),然后只验证Web服务是否被调用。通过这种方式,您可以确保您的部分代码正常工作,并且只要Web服务正常运行,那么您应该很高兴。

    如果你肯定需要访问它,你可以使用try / catches来查看它是否超时,并且如果它没有这样做,则只运行其余的测试。这样,如果服务停止,catch将使测试通过而不会失败。

    希望这有帮助