在运行时声明[TestMethod]

本文关键字:TestMethod 声明 运行时 | 更新日期: 2023-09-27 18:05:13

我有一个相当大的编码UI测试,并在其自己的.cs类文件中设置了每个任务。测试的主要目的是检查对象是否已加载到浏览器的各个页面上。该测试设置为循环遍历XML配置文件,并调用用户认为合适的XML中列出的每个方法。

因为我不希望每个测试方法每次都运行,所以我没有在每个类/方法的顶部声明[TestMethod]属性。不幸的是,这意味着被调用的每个方法将不会单独显示在测试结果视图中,这是一个很大的缺点。

是否有一种方法可以在每次调用方法时应用[TestMethod]属性,但仅用于我想要的方法?

在运行时声明[TestMethod]

测试运行器使用测试程序集上的反射来查找具有[TestMethod]属性的方法,然后逐个调用这些方法来执行测试。要做您想做的事情,您需要更改测试运行程序,即使这样,您也必须做一些事情来更改测试程序集的IL,以动态地添加属性,重新加载程序集,以及可能有许多我正在掩盖的其他事情。如果你走到这一步,你基本上就是在写你自己的测试框架了。

相反,你有什么理由不想使用测试列表吗?