如何避免像在 SpecFlow MsTest 中那样生成被忽略的测试?

How to avoid ignored tests being generated as in SpecFlow MsTest?

这是示例功能文件,包含@ignore 示例。

@ChildTest
Scenario: Sub Report

Given  I have clicked on EmpId: '<EmpId>' to view Report
When   Loading mask is hidden
Then   I have clicked on 'Back to Results' link.

@ignore
Examples:
    | EmpId              | Date    |     
    | CHILD_TEST_SKIPPED | dynamic |  

我希望 TestGenerator 避免为@ignore 示例

生成单元测试方法

您无法让测试生成器忽略这些测试。 SpecFlow 标记成为生成的测试方法上方的 [Test category("ignore")] 属性。

您需要在测试资源管理器中过滤掉那些测试。在测试资源管理器搜索栏中输入 -trait:ignore 以排除这些测试。

另一种方法是将测试设置为“待定”:

Scenario: ...
    Given pending

并且在 Given pending 调用的步骤定义中:Assert.Inconclusive("This test is temporarily disabled.");

然后执行测试,但报告它们既没有通过也没有失败。我在实现新功能时经常这样做,这样我就可以提前编写测试。