1

我正在使用 Specflow Scenario Outline 使用示例运行不同 url 的列表。但是,在检查测试资源管理器时,每个示例的命名约定是在句号之后取最后一个单词。我试图找到与格式化有关的东西,但遇到了死胡同,在这里找不到任何与我的特定问题相匹配的东西。

例如 www.test.co.uk 显示为 'uk in TestFeature'

不幸的是,在我的测试中,URL 是唯一值,因此在报告时,很清楚在场景中测试了哪些 url……否则我会使用客户端名称。

解决方案中的包包括:NUnit、Specflow、SpecRun

场景大纲示例如下:

Scenario Outline: The login page for a given client is displayed when navigated to it
When I load the URL '<URL>'
Then The login page is displayed for client '<Client>'
Examples:
| URL                     | Client    |
| http://www.test1.co.uk  | Someone1  |
| http://www.test2.co.uk  | Someone2  |
| http://www.test3.co.uk  | Someone3  |
| http://www.test4.co.uk  | Someone4  |
| http://www.test5.co.uk  | Someone5  |
| http://www.test6.co.uk  | Someone6  |
| http://www.test7.co.uk  | Someone7  |
| http://www.test8.co.uk  | Someone8  |
| http://www.test9.co.uk  | Someone9  |
| http://www.test10.co.uk | Someone10 |

测试资源管理器:

测试资源管理器视图

如果需要更多信息,请告诉我。我使用 Visual Studio 2017 作为我的 IDE 和 SpecFlow 2.4.1、SpecRun 1.8.5。

4

1 回答 1

0

当场景名称包含点时,我们(如在 SpecFlow+ 团队中)在场景名称转义方面存在错误。我们仍然需要修复它。

我建议您(并且是目前最快的解决方法)是添加一列添加开头并使用它来描述该行中的单个示例。

SpecFlow 使用场景大纲列的第一列进行命名。如果您只有 url,那么场景名称就不太好阅读。网址是“实施”细节。
也许客户端名称更适合包含在方案名称中。


全面披露:我是 SpecFlow 和 SpecFlow+ 开发人员之一。

于 2019-01-07T15:13:09.577 回答