当前位置: 首页 > 知识库问答 >
问题:

cucumber JVM cucumber异常:在[]处未找到任何功能

衡修洁
2023-03-14

在我的cucumber -jvm、Maven、junit设置中,我的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 {
}

我在上面提到的目录中有我的特征文件。

如果运行它,我会得到以下异常:

cucumber.runtime.CucumberException: No features found at [C:/Users/sarthak.dayanand/Documents/WebRefreshTest/CukeAutomation/LebaraWebAutomationTest1/src/main/resources/cucumber]...

如果我删除testrunner中的“features”选项,它会尝试在与我的testrunner.java相同的目录中查找功能文件

cucumber.runtime.CucumberException: No features found at [com/lebara/testrunner]

如果我把功能文件放在那里,它就可以工作了。

我的问题是,为什么我的特征文件没有从我以前的位置提取,我以为这是cucumber - maven设置的默认文件结构。

我如何让它从那里开始?感谢帮助。

共有3个答案

孟栋
2023-03-14

只需添加特征={"类路径:特征/feature.feature"},该特征必须在测试/资源/特征/feature.feature.

    @CucumberOptions(
        format = {"pretty", "html:target/html"},
        features = {"classpath:features/feature.feature"},
        snippets = SnippetType.CAMELCASE

注意类路径。

当你编译你的代码时,如果你使用maven打开目标/测试类/功能,你会看到feature.feature

章安易
2023-03-14

我有一个类似于你的设置(不使用 Maven/Cucumber 约定)。在我的选项中,我没有指定来自根目录的路径,而是从保存要素的项目源文件夹中指定路径。这是有道理的,因为否则测试只能从您的计算机运行。

就你而言,我认为应该是:

features = "src/main/resources"
令狐献
2023-03-14

您的测试运行程序和功能文件到底在哪里?我有以下完美运行的设置:

src/test/
    java/
        com/mypackage/
            TestRunner.java
            StepDefinition.java
    resources
        com/mypackage/
            fancy.feature

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

如果您还没有找到答案,希望这会有所帮助。

 类似资料:
  • 我有几个插件有问题 Image_Picker:^0.6.2+3,位置:^2.3.5,... 我真的扑得干干净净,什么都没变 Android设备:SM-N900 和我的代码:

  • 问题内容: 我从这篇博客文章中获得了帮助: 但是我发现com.mysql.jdbc.driver类未找到异常。那篇博客文章的不同之处在于,在我的案例中,他们尝试连接到mysql而不是MS SQL。到目前为止,这是我的代码:package com.example.dbtry; 请告诉我我在做什么错。我还在清单中添加了对Internet的许可。 问题答案: 从以下位置下载jar:http://www.

  • 我在将Web应用程序部署到WebLogic服务器12c时遇到问题。Web应用程序依赖于服务jar(内部依赖于Hibernate类)。当我构建战争时,它不包括Web应用程序的WEB-INF/lib/文件夹中的hibernate-entitymanager.jar,并且它的部署失败,例外是“ClassNotFoundExceptionorg.hibernate.ejb.HibernatePeraxy”

  • 我的应用程序超过了64k个方法,所以我应该实现多索引,最初我遇到的问题是“本地路径不存在”,我解决了这个问题,现在gradle生成了类1。dex和classes2。dex,但在低于Lollipop的环境中不工作。。它在Lollipop中工作得很好,因为它有天然的支持。错误是这样说的“ 看过一些教程后,他们说必须改变1.gradle2.application3.manifest 我对申请课了解不多.

  • 我试图通过JWS为我的java项目分发签名jar,我所做的是 我已经把我的班级档案装进了一个罐子 使用keytool-keytool-genkey-keystore xxx-alias xxx创建密码 使用jarsigner-keystore xxx测试对jar进行签名。jar xxx-命令 但我的错误是没有发现类异常。太阳安全工具。贾西纳。 我使用的是JDK1.6.0.21。我试着打开工具。ja

  • 问题内容: 我在项目中使用了KSOP2,并且这些天一直都在工作。最近,我买了一台新机器,并将项目移到新机器上,并将ksoap库导入到项目等中,当我尝试运行该应用程序时,我在模拟器中遇到以下错误 这是引发异常的地方。 与64位计算机有关?? 这些年来一直有效的应用程序为何突然停止工作?有人可以启发我。我坚持下去。谢谢您的时间。 问题答案: 我设法通过解决问题 在项目中创建一个文件夹“ libs” 将