在intellij中设置黄瓜

时间:2018-03-13 22:15:01

标签: java maven intellij-idea cucumber gherkin

我正在试着在intellij中进行测试。我正在使用黄瓜骨架项目的基本框架。

cucumber java

我还更新了我的POM文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
     http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>MaritProject</groupId>
    <artifactId>MaritProject</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>2.3.1</version>
        </dependency>

        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>2.3.1</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/info.cukes/cucumber-java -->
        <dependency>
            <groupId>info.cukes</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>1.2.5</version>
        </dependency>

     </dependencies>
    </project>

环境:我在jdk 1.8上,并且已在设置中选择了JDK。我也去了设置,插件并安装了Cucumber for Java插件。我在Windows 10上。

要求:我想运行一个功能文件的基本测试,在我的跑步者课程中没有任何东西,应该告诉我零测试工作并给我一个基本输出步骤定义文件,用于剪切和粘贴并开始充实细节。然后,我想编写并执行转轮文件。

问题:但是当我运行此功能文件时,没有任何反应或者当我填写一些编辑配置时,我得到“运行错误:'未命名:没有模块定义'。我是在一些视频教程中,运行输出窗口看起来与我的不同,所以我将我的IntellJ升级到最新版本2017.3.5

我已经检查了我的目录上的标记,看起来Java在main下正确标记为Sources,java在src / test下标记为test sources,资源在主要和资源root下被标记为资源。这可能应该是我所需要的全部内容,因为视频据说比这更少。当我在项目目录中运行mvn clean test时,我恢复了BUILD SUCCESS。

但是,由于我升级IntelliJ以尝试纠正不同的问题,现在我无法运行任何功能或类文件。它希望我先编辑我的配置。这些配置包括主类,粘合,功能或文件夹路径,VM选项,程序参数,工作目录,环境变量和模块的类路径。当我试图跑步时,此窗口不存在。我不知道在这些输入框中放什么,谷歌的结果到目前为止一直没有用。我如何判断我的主要课程是什么或胶水是什么?胶水看起来像一个必填字段,但我不知道胶水对应的路径。我猜我的工作目录是存储文件的地方。我的java和maven home环境变量保存在我的机器上,但是我还需要它们在intellij中吗?

2 个答案:

答案 0 :(得分:1)

我有一些麻烦让这些东西上班。对于此配置工作:

<properties>
    <java.version>1.8</java.version>
    <junit.version>4.12</junit.version>
    <cucumber.version>1.2.5</cucumber.version>
    <maven.compiler.version>3.3</maven.compiler.version>
</properties>
<dependencies>
    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java8</artifactId>
        <version>${cucumber.version}</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>${cucumber.version}</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
    </dependency>
</dependencies>

请注意,我在内部指定了版本,也可以内联提供。

除此之外,你必须指定胶水。这是stepDefinition文件所在的目录。您的胶水和功能等可以在testrunnerclass或类似的东西中指定。但请注意,这门课程已经有了测试&#34;在名字里。像TestRunner或CukesRunTest这样的东西会做。 RunnerClass将无法识别。

答案 1 :(得分:0)

请删除

<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-java -->
<dependency>
    <groupId>info.cukes</groupId>
    <artifactId>cucumber-java</artifactId>
    <version>1.2.5</version>
</dependency>

因为你的pom.xml中有两个版本的黄瓜