是否可以将Cucumber JUnit和Mockito一起用于测试Spring?无论我在哪里看到它要么只使用Mockito JUnit或SpringJUnit Runner,就从未见过带有Cucumber JUnit + Mockito for Spring的UnitTestCases。
那真的有可能吗?
答案 0 :(得分:0)
那些技术旨在解决的问题截然不同。
在单元测试中,您试图测试软件的最小部分(通常是单个类),然后抽象(模拟)其他所有内容。对于Mockito来说,这是一个非常好的用例。
JUnit运行器和SpringTestRunner是运行测试的引擎,它们将为您处理配置和类加载。
Cucumber允许您使用对业务更友好的语言(小黄瓜)编写测试,并且您的目标是涵盖业务用户案例并测试整个应用程序,以查看它是否可以解决您的问题。
例如:假设您有一个应用程序,该应用程序为您提供了要添加到支票中的税额。
您可以具有一个类,其中给定一种产品,该类可以连接到外部服务并返回该项目的税率。要测试您没有遇到真正服务的类,请使用Mockito创建一个模拟服务,您可以在其中控制返回的值。在这里,您正在测试班级向外部服务发出请求的能力。
现在,您可以有一个业务需求,要求您在支票中有多个项目时,仅对其中一些项目征税。在这里,您编写了一个黄瓜测试,并将请求发送到您的应用程序。在这里,您正在测试应用程序的完整逻辑,识别项目,为正确的项目征税等等。
在这种情况下,您将在同一应用程序上运行黄瓜和Mockito。谁在运行它们?最有可能是JUnit运行器。