【发布时间】:2018-10-20 14:42:16
【问题描述】:
所以我得到了一个任务,我必须验证远程微服务的 REST 响应。 现在,我构建了一个调用给定 REST 端点的应用程序,现在我必须验证结果。
我的问题是,我应该在哪里编写测试?如果我使用 Junit/TestNG 写入测试范围,它应该是带有模拟对象的单元测试,对吧?但在这种情况下,我无法正确测试远程服务。
使用 Junit 从测试范围调用真实服务是一种糟糕的模式吗?
谢谢!
【问题讨论】:
-
如果您打算编写单元测试,那只会很糟糕。您正在此处编写集成测试。但是,请记住,测试是在每个构建上运行的,因此外部服务中的故障会破坏您的构建。
-
谢谢,是的,它确实是一个集成测试。我怎么能在每次失败时不破坏代码的情况下做到这一点?
-
保持集成测试分开,这样它们就不会在正常构建期间运行。这与使用的技术无关,您仍然可以使用 JUnit 作为测试运行器。
-
在这种情况下我应该把它们放在哪里?超出测试范围?
-
我不知道你所说的“测试范围”是什么意思。如果你是这个意思,他们会进入另一个目录。
标签: java testing junit microservices