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

Posted

技术标签:

【中文标题】Specflow 场景大纲 - 更改自动生成的测试名称【英文标题】:Specflow Scenario Outline - Change Auto Generated Test Name 【发布时间】:2021-01-27 14:08:47 【问题描述】:

我正在使用 Specflow 在 Visual Studio 2019 中编写 BDD 自动化测试,并使用 Nunit3 运行它们。

当我使用示例表编写场景大纲时,它看起来像:

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)

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

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

【问题讨论】:

【参考方案1】:

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


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

据我所知,SpecFlow+ Runner 和 xUnit 在 Scenario Outlines 的测试资源管理器中有更好的测试/方法名称。

【讨论】:

以上是关于Specflow 场景大纲 - 更改自动生成的测试名称的主要内容,如果未能解决你的问题,请参考以下文章

Specflow - 场景大纲不会生成示例步骤

Specflow:对场景和场景大纲使用相同的步骤定义

Specflow 场景大纲未按预期工作

如何在下拉列表中选择与 specflow 大纲值相同的值

您可以在 SpecFlow 的场景大纲中标记各个示例吗?

具有多个场景的 Specflow 场景大纲