簡體   English   中英

如何在 Cucumber 中執行帶有多個標簽的測試運行程序

[英]How to execute test runner with multiple tags in Cucumber

我想一個一個地執行兩個指定的測試用例我有如下配置的測試運行器

@CucumberOptions(
    features = {"src/test/resources/features"},
    glue = "classpath:",
    plugin = { "html:src/test/resources/execution/report/cucumber-reports.html" },
    tags = "@Test213 and @Test214"
)
public class TestRunner extends AbstractTestRunner {
}

但是當我運行它時,沒有執行任何場景 - 僅來自 testNG 的 @Before。

控制台 output:

14:32:09.036 [main] INFO  integration.RestFXTestBaseClass - New browser instance opened
14:32:09.039 [main] INFO  cleaner.RestFXCleaner - Cleaning execution directory...
14:32:09.044 [main] INFO  cleaner.RestFXCleaner - Items deleted

===============================================
Default Suite
Total tests run: 0, Passes: 0, Failures: 0, Skips: 0
===============================================

問題很可能是由glue = "classpath:"引起的

在 Cucumber 中,“膠水”是您的步驟定義的位置(文件夾)。 我確定您的步驟定義文件夾未命名為classpath: 如果您的步驟定義所在的文件夾稱為測試,並且它在您的項目中,您可以使用相對路徑,例如glue = "tests" 大多數人選擇將他們的步驟定義文件夾命名為stepDefinitions

另外,請確保您的標簽是正確的,否則您可能會看到類似的問題。

這是由於我對這個標簽處理的錯誤理解。 我認為我需要加入場景以執行and但它是合乎邏輯的and所以這個tags = "@Test213 and @Test214"只執行由這兩個標簽注釋的場景,我的套件中沒有任何場景。 如果我想一個一個地運行場景,我需要像這樣配置它tags = "@Test213 or @Test214"

如果要運行使用這些標簽中的任何一個進行注釋的場景,則需要使用“或”。

“和”是運行使用兩個標簽注釋的場景

有時我們想要運行一些在上次運行中失敗的回歸場景。

所以,那個時候我們可以使用 'and' -> @Regression 和 @Defect

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM