在不重命名单元测试的情况下更快速地生成一系列有序测试

时间:2016-07-22 22:02:01

标签: c# selenium visual-studio-2015 mstest functional-testing

问题

对于大量的单元测试,是否有一种简单的方法来生成" OrderedTest"我项目中每个测试类的文件,允许我按照它们在各自类中出现的顺序运行每个测试方法?

背景

我在单元测试项目中包含大量(1000+)Selenium 功能测试。在我的项目中,每个班级代表一个页面,每个班级代表一个单元测试"代表我的功能测试之一。通常,测试按以下方式运行:

创建 - 页面中的复杂对象(10次测试)

操纵\编辑 - 已创建的复杂对象(100次测试)

撕下\删除 - 逐个删除复杂对象,直到测试页面处于原始状态(10ish tests)

由于每个页面的许多复杂性和加载时间,这些测试中的每一个(实际上只是组)必须在给定类中以特定顺序运行。我理解这是"not optimal"以这种方式构建我的测试,但遗憾的是我还没有为我的测试找到一个替代设计,以便在任何合理的时间内运行。

我之前使用ReSharpers测试工具来运行这些测试,使用此工具,我能够按照每个类中出现的顺序运行每个测试。现在我尝试(出于各种不相关的原因)向我们MSTest运行我的测试。默认情况下,MSTest在"non-deterministic" order中运行每个测试。

我想使用"Ordered Tests"来强制执行每个测试的顺序。但是,由于我遵循this convention,我的测试目前没有按照它们的运行顺序命名。我需要运行测试的顺序目前由他们在类中的顺序定义。

所以这是我的问题,当我创建一个新的" Ordered Test"文件,界面不允许我对" Avaliable测试进行排序"通过他们的自然顺序"(他们在班级中出现的顺序),它也不允许我移动每个"选择的测试"多个空间(每次点击一次)。在一个小规模的项目中,这将是令人烦恼的,我的1000+测试项目(还有更多的1000'在路上)由于我的每个类生成一个有序测试非常困难必须手动订购每件商品的开销。

跟进

我能想到解决这个问题的简单方法是编写一个脚本来生成" Orderedtest"正如我在我的问题中所陈述的文件一样,但它确实让我感到过度,也许我没有遵循编码我的硒测试结构的标准(或推荐)路径。我想如果很多人已经遵循这条道路,就会有更多关于这个主题的文档,但我发现the little关于这个主题确实为我提供了一个明确的路径。

我想知道是否有另一种方法可以使用MSTest实现相同的功能?

0 个答案:

没有答案