我正在使用 SpecFlow 来 BDD 我的应用程序。我想迭代测试,而每次迭代都重复之前分配的参数。
由于这一步应该执行大约 120 次,我不想用不同的参数重写相同的测试。
是否可以仅迭代场景部分?
真实场景:
我有打开文件并关闭它的应用程序功能。
我想打开和关闭文件,直到应用程序失败。
我制作的最后一个测试套件(使用纯 C# 代码)在被测应用程序中发现内存泄漏导致第 10 次迭代失败,但在调试被测应用程序后,它仍然在 50 多次迭代时失败(再次由于内存泄漏)。
我想使用规范流程来测试这种情况。
出于日志记录的原因,我想将每次迭代拆分为不同的场景。所以不是编写包含许多子场景的特征文件,有没有办法告诉 SpecFlow 以升序重复序列进行迭代?
场景:
Scenario Outline: Open and close fileTestScenario1
Given Ready for input
When Open file <file_name>
Then File content is visible
Examples:
| file_name |
| param1 |
| param2 |
| param3 |
所以我希望 SpecFlow 生成以下测试:
- 使用 param1 调用场景(使用 param1 调用并断言)
- 使用 param1 和 param2 调用场景(使用 param1 调用并断言,然后使用 param2 和断言调用)
- 使用 param1 和 param2 和 param3 调用场景(使用 param1 调用并断言,然后使用 param2 调用并断言,然后使用 param3 和断言调用)
- ...
我知道那个场景是原子测试单元,但是,如果我想执行这个任务 - 它怎么做?