在 JUnit 中使用 Cucumber
配置 Cucumber JUnit
要开始使用 Cucumber,您需要将所需版本的 Cucumber JUnit 添加到您的项目中:
<dependencies> [...] <dependency> <groupId>io.cucumber</groupId> <artifactId>cucumber-junit</artifactId> <version>${cucumber.version}</version> <scope>test</scope> </dependency> [...] </dependencies>
然后创建一个使用 Cucumber JUnit 运行器的空类。
package org.sample.cucumber; import org.junit.runner.RunWith; import cucumber.api.CucumberOptions; import cucumber.api.junit.Cucumber; @RunWith( Cucumber.class ) public class RunCucumberTest { [...] }
这将执行 runner 包中的所有场景。默认情况下,胶水代码假定在同一个包中。该@CucumberOptions
注解可用于提供 Cucumber 的附加配置。
请注意,在此示例中,BDD 场景由 Surefire 插件在test
构建生命周期阶段执行。
mvn test
使用 JUnit 规则
Cucumber 支持 JUnit 注释@ClassRule
,@BeforeClass
并且@AfterClass
. 这些是围绕功能套件调用的。不推荐使用这些,因为它限制了不同跑步者之间的可移植性。相反,建议使用 Cucumbers `Before` 和 `After` 挂钩来设置脚手架。
使用其他 JUnit 功能
Cucumber runner 就像一套 JUnit 测试。因此,其他 JUnit 功能(例如类别、自定义 JUnit 侦听器和报告器)以及重新运行失败的测试都可以正常工作。