[英]Cucumber tests not executing when running maven test
我有一個黃瓜項目。 當我右鍵單擊RunnerTest類並“運行“ RunnerTest”時,功能文件中的所有功能開始運行。所有測試均通過。
我的RunnerTest.class
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
import java.sql.SQLException;
import lombok.extern.log4j.Log4j2;
import org.junit.BeforeClass;
import org.junit.runner.RunWith;
@RunWith(Cucumber.class)
@CucumberOptions(
features = {"classpath:foo.feature"},
glue = "com.foo.foobar.StepDefinitions",
plugin = {"json:target/cucumber-report/cucumber.json"},
monochrome = true,
strict = true
//,dryRun = true
)
@Log4j2
public class RunnerTest {}
但是,當我嘗試運行mvn test或mvn時,干凈安裝功能未運行。 這是輸出。
運行TestSuite使用以下方法配置TestNG:org.apache.maven.surefire.testng.conf.TestNG652Configurator@515f550a測試運行:0,失敗:0,錯誤:0,跳過:0,經過時間:0.895秒
結果:
測試運行:0,失敗:0,錯誤:0,跳過:0
這些是我的POM依賴項
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-core</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>3.0.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-jvm</artifactId>
<version>3.0.0</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-jvm-deps</artifactId>
<version>1.0.6</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>gherkin</artifactId>
<version>4.1.3</version>
</dependency>
<!--<dependency>-->
<!--<groupId>junit</groupId>-->
<!--<artifactId>junit</artifactId>-->
<!--<version>4.12</version>-->
<!--</dependency>-->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.14.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
<scope>test</scope>
</dependency>
我試圖添加mvn surefire插件,並在其中包括我的RunnerTest類。
<build>
<pluginManagement>
<plugins>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<includes>
<include>RunnerTest.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
但這也不起作用
已知問題:如果並行保持Junit和TestNG兩個依賴關系,則TestNG依賴關系將導致Surefire忽略JUnit包裝器類。
解決方案:可能有多種處理方式,例如我們可以定義2個執行,每種分別用於TestNG和JUnit,並根據需要禁用一個。
您能嘗試一下嗎:請刪除任何直接/間接的TestNG依賴項。
org.testng testng 6.14.3測試
並嘗試添加以下一個-
io。黃瓜黃瓜試3.0.0
另外,我建議您再做一件事以保持pom.xml的干凈。
關鍵點 :
您應刪除小黃瓜芯,小黃瓜java,小黃瓜jvm,小黃瓜jvm-deps,小黃瓜,因為它們是傳遞性依賴,當您添加以下直接(主)依賴時,Maven會添加這些依賴。 只需添加下面的2和上面共享的testng一個。
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>3.0.0</version>
</dependency>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.