gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:00:29 24 4
gpt4 key购买 nike

我的文件在 java 时工作正常,结构如下src\test\java\login.feature。当创建一个名为功能名称的文件夹时,它不会执行以下结构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 {

}

enter image description here

最佳答案

您使用的是相当旧版本的 Cucumber。它的路径扫描不太理想。

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

|- 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

这允许您使用类路径 uri 来表示功能,使用包名称来表示粘合。

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

在 Cucumber 的更高版本中使用此布局时,您还可以省略 CucumberOptions 中的 featuresglue 因为 Cucumber 会搜索默认情况下,用于glue和features的RunCucumberTest类的包。

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com