【发布时间】:2021-07-14 13:31:18
【问题描述】:
我正在尝试通过 Maven 运行两个黄瓜功能文件,但没有任何反应。我正在使用荷兰语 (NL) 版本的 Gherkin。当我直接在 Eclipse 或 Gradle 中运行功能文件时,它们运行良好。我在 Stackoverflow 上研究了有关此问题的所有早期问题,但仍然找不到解决方案。
这是我在 Eclipse 中的项目结构: Eclipse project structure
使用 Maven 使用命令 mvn Test 运行项目的结果是:
Running nl.werkwel.cucumber.RunTest
Configuring TestNG with: org.apache.maven.surefire.testng.conf.TestNG652Configurator@f5c0729
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.341 sec
Results :
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
[INFO] BUILD SUCCESS
我也尝试过运行: “mvn 测试 -Dcucumber.options="src/test/resources/registratiepage.feature" 但结果是一样的
这是 POM
<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>nl.werkwel</groupId>
<artifactId>cucumber</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>cucumber</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.4</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8.8</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.0</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.4</version>
</dependency>
</dependencies>
</project>
这里是功能文件之一:
# language: nl
Functionaliteit: Testen van de Registratiepagina
Achtergrond:
Gegeven Gebruiker is op de registratiepagina
Scenario: Niet succesvolle registratie, emailadres niet gevuld
Als Gebruiker geen emailadres invult
En Klikt op de button nu registreren
Dan wordt de melding "Voer een waarde in" getoond
Scenario: Link Algeregistreerd
Als Gebruiker op link algeregistreerd klikt
Dan gaat gebruiker verder naar het inlogscherm
Scenario: Link Annuleren
Als Gebruiker op link annuleren klikt
Dan gaat gebruiker verder naar het inlogscherm
跑者班
package nl.werkwel.cucumber;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
plugin = {"pretty", "html:out"},
features={"."}
)
public class RunTest {
}
【问题讨论】:
-
需要 POM 和至少一项功能。
-
谢谢你的反应,我添加了信息。
-
该功能文件的确切文件名是什么?另外,为什么你的 POM 中同时包含 JUnit 和 TestNG?
-
我不知道TestNG,但是当使用JUnit(至少使用Java类)运行测试时,类的名称必须以'Test'结尾。所以也许你需要相应地命名你的测试文件。
-
我删除了 JUnit 依赖项,将包含步骤定义的文件的名称更改为“LoginStepDefinitionsTest”。仍然没有运行测试。功能文件的名称是“registratiepage.feature”和“registrerengebruiker.feature”。