是否有一种方法可以覆盖测试中所有参数的排列?

本文关键字:覆盖测试 参数 排列 方法 一种 是否 | 更新日期: 2023-09-27 18:06:58

我正在编写一个Selenium测试来验证我的网页上的输入表单。我希望涵盖输入数据的所有组合,但我不希望为每个组合编写单独的测试。现在,我使用excel电子表格作为数据源,并且我将组合列为每一行。

我希望有一种方法可以覆盖所有的情况下,而不需要使用excel文件或为每个情况编写一个单独的测试。有什么能帮上忙的吗?

是否有一种方法可以覆盖测试中所有参数的排列?

如果你能想出你想要测试每个参数的每种可能性,那么你可以在LINQ语法中使用多个from语句进行快速交叉连接,以想出这些可能性的每种组合。

您可能还想看看Pex。它可以分析您的类并生成测试方法来测试每个可能的代码路径。它对于发现您自己可能没有想到的极端情况非常有用。当然,这只有在以单元可测试的方式编写类时才有用。如果你的网页表单没有MVC动作或类似的东西支持,这可能没有帮助。

你只需要一种方法来获得所有的组合值吗?您可以使用linq和其他各种技术来做到这一点—参见以下问题作为示例

为你的方法生成所有的输入组合,然后在mstest中编写一个Unittest(可能会运行很长时间)来检查每一个