Cucumber JUnit是否可用于UnitTest Spring?

时间:2018-07-18 15:48:31

标签: java

是否可以将Cucumber JUnit和Mockito一起用于测试Spring?无论我在哪里看到它要么只使用Mockito JUnit或SpringJUnit Runner,就从未见过带有Cucumber JUnit + Mockito for Spring的UnitTestCases。

那真的有可能吗?

1 个答案:

答案 0 :(得分:0)

那些技术旨在解决的问题截然不同。

在单元测试中,您试图测试软件的最小部分(通常是单个类),然后抽象(模拟)其他所有内容。对于Mockito来说,这是一个非常好的用例。

JUnit运行器和SpringTestRunner是运行测试的引擎,它们将为您处理配置和类加载。

Cucumber允许您使用对业务更友好的语言(小黄瓜)编写测试,并且您的目标是涵盖业务用户案例并测试整个应用程序,以查看它是否可以解决您的问题。

例如:假设您有一个应用程序,该应用程序为您提供了要添加到支票中的税额。

您可以具有一个类,其中给定一种产品,该类可以连接到外部服务并返回该项目的税率。要测试您没有遇到真正服务的类,请使用Mockito创建一个模拟服务,您可以在其中控制返回的值。在这里,您正在测试班级向外部服务发出请求的能力。

现在,您可以有一个业务需求,要求您在支票中有多个项目时,仅对其中一些项目征税。在这里,您编写了一个黄瓜测试,并将请求发送到您的应用程序。在这里,您正在测试应用程序的完整逻辑,识别项目,为正确的项目征税等等。

在这种情况下,您将在同一应用程序上运行黄瓜和Mockito。谁在运行它们?最有可能是JUnit运行器。