我的文件在以下结构src \ test \ java \ login.feature中为Java时正常工作。当创建名称保留在以下结构src / test / java / feature / Login.feature中的功能的文件夹时,该文件夹不会执行。

import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;

@RunWith(Cucumber.class)
@CucumberOptions(features = {"src/test/java/feature"},
plugin = {"json:target/cucumber.jason"},
glue = "src/test/java")

public class Runner {

}


java - 在新目录中执行功能文件时出错-LMLPHP

最佳答案

您正在使用较旧的Cucumber版本。其路径扫描不理想。

除了升级外,建议您为项目使用标准的Maven布局。这意味着功能文件是应放置在资源目录中的资源。例如:

|- src/main/java/com/example
| |- App.java
|- src/test/java/com/example
| |- StepDefinitions.java
| |- RunCucumberTest.java
|- src/test/resource/com/example/
| |- single.feature
| |- rule.feature
| |- outline.feature


这使您可以将类路径uris用于胶水的功能部件和包装名称。

@CucumberOptions(
  features = {"classpath:com/example"},
  glue = "com.example"
)


并且,在更高版本的Cucumber中使用此布局时,您也可以从features中省略glueCucumberOptions,因为默认情况下,Cucumber会搜索RunCucumberTest类的包以查找胶水和特征。

关于java - 在新目录中执行功能文件时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61514030/

10-08 22:31
查看更多