在c#中,有没有什么神奇的方法可以在不把代码粘贴到任何地方的情况下检查和提前返回上千个测试用例函数?

本文关键字:返回 情况下 检查和 函数 测试用例 千个 什么 神奇 有没有 方法 代码 | 更新日期: 2023-09-27 18:06:18

我们有一个大的测试套件,包含许多测试用例功能。由于在许多平台/配置上运行,我们现在需要添加逻辑来跳过不适用的测试。这样做的"直接"方法将涉及将此添加到每个单个测试方法的顶部:

if (!CheckApplicable(/* Input some enum value of test type/platform, etc */))
{
    SkipTest();
    return;
}

我不想到处粘贴。如果可能的话,我更喜欢数据驱动的外观,比如属性。但是属性能告诉它在函数开始时运行代码吗?有没有其他技巧/技巧,可能涉及到反思,值得研究,不会比它们的价值更麻烦?如果没有,是否有至少一些干净的方法将这种类型的逻辑折叠成一行,同时仍然导致早期返回?

注意,我们需要返回退出,而不是抛出。同样,我们不能切换测试框架(我们正在使用TAEF)。

编辑:还要注意CheckApplicable的结果目前是不知道的,直到它在运行时的某个点被检查。它不是静态可知的,而且由于大型基础设施的特性,它不能依赖于命令行。我们可以超级早地运行它一次,然后以某种方式重新配置测试通过,或者在每个测试用例之前运行它。

在c#中,有没有什么神奇的方法可以在不把代码粘贴到任何地方的情况下检查和提前返回上千个测试用例函数?

我鼓励你看看"/select"是否适合你:

https://msdn.microsoft.com/en-us/library/windows/hardware/hh439686%28v=vs.85%29.aspx

专:

  1. 编写一个模块,根据你的标准返回true/false值

  2. 用"/select:"写你的脚本,使用那个动态结果