Tes*_*Eng 7 cucumber cucumber-jvm cucumber-junit
在我的黄瓜-jvm,Maven,junit Setup中我将testRunner文件作为
package com.lebara.testrunner;
import cucumber.junit.Cucumber;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@Cucumber.Options(
glue = {"com.lebara.stepdefs","com.lebara.framework.main", "com.lebara.testrunner"},
features = "C:/Users/sarthak.dayanand/Documents/WebRefreshTest/CukeAutomation/LebaraWebAutomationTest1/src/main/resources",
format = {"pretty", "html:target/cucumber-html-report", "json-pretty:target/cucumber-report.json"},
tags = {"@UserJourney"}
)
public class RunCukesTest {
}
Run Code Online (Sandbox Code Playgroud)
我在上面提到的目录中有我的功能文件.
如果我运行它,我会得到以下异常:
cucumber.runtime.CucumberException: No features found at [C:/Users/sarthak.dayanand/Documents/WebRefreshTest/CukeAutomation/LebaraWebAutomationTest1/src/main/resources/cucumber]...
Run Code Online (Sandbox Code Playgroud)
如果我删除了testrunner中的"features"选项,它会尝试在与我的testrunner.java相同的目录中查找功能文件
cucumber.runtime.CucumberException: No features found at [com/lebara/testrunner]
Run Code Online (Sandbox Code Playgroud)
如果我把功能文件放在那里,它就可以了.
我的问题是为什么我的功能文件没有被我以前的位置拾取,我认为这是黄瓜 - maven设置的默认文件结构.
我如何从那里取货?帮助赞赏.
Dou*_*uts 15
您的测试运行器和功能文件到底在哪里?我有以下设置完美的工作:
src/test/
java/
com/mypackage/
TestRunner.java
StepDefinition.java
resources
com/mypackage/
fancy.feature
Run Code Online (Sandbox Code Playgroud)
Maven/Cuke约定将从tests/java目录和test/resources目录中的功能文件执行测试.我的测试运行器与您的测试运行器基本相同,但选项较少:
import cucumber.api.junit.Cucumber;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@Cucumber.Options(format = {"pretty"})
public class TestRunner { }
Run Code Online (Sandbox Code Playgroud)
希望如果您还没有找到答案,这会有所帮助.
我有一个类似于你的设置(不使用 Maven/Cucumber 约定)。在我的选项中,我没有从 root 指定路径,而是从保存功能的项目的源文件夹中指定路径。这是有道理的,否则测试只能从您的机器上运行。
在你的情况下,我认为它应该是:
features = "src/main/resources"
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
29419 次 |
最近记录: |