Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cucumber:java.lang.IllegalArgumentException:不是文件或目录:G:\Codebase\MavenCumber\--插件_Java_Maven_Cucumber Junit - Fatal编程技术网

Cucumber:java.lang.IllegalArgumentException:不是文件或目录:G:\Codebase\MavenCumber\--插件

Cucumber:java.lang.IllegalArgumentException:不是文件或目录:G:\Codebase\MavenCumber\--插件,java,maven,cucumber-junit,Java,Maven,Cucumber Junit,每当我尝试在eclipse中运行我的功能文件时,使用Maven会出现以下错误: 线程“main”java.lang.IllegalArgumentException中的异常:不是文件或目录:G:\Codebase\mavencumber--cucumber.runtime.io.FileResourceIterator$FileIterator中的插件。(FileResourceIterator.java:54)cumber.runtime.io.FileResourceIterator.(Fi

每当我尝试在eclipse中运行我的功能文件时,使用Maven会出现以下错误:

线程“main”java.lang.IllegalArgumentException中的异常:不是文件或目录:G:\Codebase\mavencumber--cucumber.runtime.io.FileResourceIterator$FileIterator中的插件。(FileResourceIterator.java:54)cumber.runtime.io.FileResourceIterator.(FileResourceIterator.java:20)cumber.runtime.io.FileResourceIteratorcucumber.runtime.runtime.runtime.runtime.runtime.runtime.runtime.CucumberFeature.load(CucumberFeature.java:38)在cucumber.runtime.runtime.runtime.run(runtime.java:92)在cucumber.api.cli.Main.run(Main.java:20)在cucumber.api.cli.Main.Main(Main.java:12)中

上图是我的项目结构,功能文件包含以下代码-

@tag
Feature: Proof of Concept

  @tag1
  Scenario: This is my first test Scenerio
    Given This is my first step
    When This is my second step
    Then This is my third step

我在cucumber java、cucumber junit和cucumber picocontainer中使用了1.1.2版本的jar


现在我使用的是1.2.2版本的jar,它在这个版本中运行得非常好。

我在cucumber java、cucumber junit、cucumber picocontainer中使用的是1.1.2版本的jar。正因为如此,我出现了上述错误


现在我使用的是1.2.2版本的jar,它在这个版本中运行得非常好。

这个错误清楚地表明“不是文件或目录”,这意味着路径不正确。这可能有多种原因

一个是将Cucumple库升级到最新版本,这在您的案例中是有效的

第二个是要素文件的位置。我假设要素文件只能位于两个位置:

  • 在src文件夹或src子文件夹中使用
  • 在src文件夹之外,这意味着您将功能文件保存在项目中的某个文件夹中,但在src包之外
  • 在第一种情况下,您应指定黄瓜选项,如下所示:

    @RunWith(Cucumber.class)
    @CucumberOptions(
            features = "src/somefolder/Feature"
    
    在第二种情况下:

    @RunWith(Cucumber.class)
    @CucumberOptions(
            features = "Feature")
    

    请看第二种情况的例子,这个错误清楚地表明“不是文件或目录”,这意味着路径不正确。这可能有多种原因

    一个是将Cucumple库升级到最新版本,这在您的案例中是有效的

    第二个是要素文件的位置。我假设要素文件只能位于两个位置:

  • 在src文件夹或src子文件夹中使用
  • 在src文件夹之外,这意味着您将功能文件保存在项目中的某个文件夹中,但在src包之外
  • 在第一种情况下,您应指定黄瓜选项,如下所示:

    @RunWith(Cucumber.class)
    @CucumberOptions(
            features = "src/somefolder/Feature"
    
    在第二种情况下:

    @RunWith(Cucumber.class)
    @CucumberOptions(
            features = "Feature")
    

    看看下面第二个案例的例子,Cucumber选项格式适合我

    src\\main\\java\\com.qa.features
    com.qa.stepDefinition
    
    @RunWith(Cucumber.class)
    @CucumberOptions(
        features = "src\\main\\java\\com\\qa\\features"
        ,glue={"com/qa/stepDefinition"}
        ,format={"pretty","html:test-output"}
    }
    

    下面是我的工作方式

    src\\main\\java\\com.qa.features
    com.qa.stepDefinition
    
    @RunWith(Cucumber.class)
    @CucumberOptions(
        features = "src\\main\\java\\com\\qa\\features"
        ,glue={"com/qa/stepDefinition"}
        ,format={"pretty","html:test-output"}
    }
    

    事实上,问题发生在我身上,因为功能文件名是用大写写的。当我将其改为小写时,问题就解决了。

    事实上,问题发生在我身上,因为功能文件名是用大写写的。当我改为小写时,问题就解决了。

    试试看

    mvn test -Dcucumber.options="--tags @TagName"
    
    试一试


    通过在项目下创建一个单独的文件夹,即“功能”,而不是将功能文件保存在项目的子文件夹中,解决了此问题。

    通过在项目下创建一个单独的文件夹,即“功能”,而不是将功能文件保存在项目的子文件夹中,解决了此问题。

    谢谢。遇到一些问题,您的修复工作正在进行中我也是。谢谢。出了点问题,你的修复也对我有用。