Specflow 场景大纲 - 更改自动生成的测试名称

Specflow Scenario Outline - Change Auto Generated Test Name

我在 Visual Studio 2019 年使用 Specflow 编写 BDD 自动化测试,运行 他们使用 Nunit3。

当我编写带有示例的场景大纲时 table 它看起来像:

Scenario Outline: NP10_New_Record_Details_Tab_Info

Examples: 
| prod     | Desc         | date       | quantity |
| Prod010a | Product 010a | 01/10/2020 | 10.00    |
| Prod010b | Product 010b | 02/10/2020 |          |

测试资源管理器中的测试名称如下所示:

Test Name:  NP10_New_Record_Details_Tab_Info("Prod010a","Product 010a","01/10/2020","10.00",null)
Test Name:  NP10_New_Record_Details_Tab_Info("Prod010b","Product 010b","02/10/2020","",null)

有什么方法可以操纵完整的测试名称,使其不在名称中显示示例 table 的每个列值? 我查看了一些在线建议,例如将虚拟列“Test_ID”添加到示例 table,然后将“”添加到场景大纲名称,但它仅将其翻译为文本不是参数。

有没有办法重新配置完整的测试名称? - 当我查看在线建议时,我看不到其他测试像我一样在测试名称的括号中显示每一列。它不是很可读。

复制的答案来自:https://support.specflow.org/hc/en-us/profiles/373373154558-Andreas-Willich


我认为这就是 NUnit 场景的显示方式。据我所知,我们曾尝试对其进行改进 (https://github.com/SpecFlowOSS/SpecFlow/pull/1874),但 was/is 测试适配器存在问题,因此我们需要收回更改。

据我所知,SpecFlow+ Runner 和 xUnit 在场景大纲的测试资源管理器中有更好的 test/method 个名称。