Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 一种快速生成一系列有序测试的方法,无需重命名单元测试 问题:_C#_Selenium_Visual Studio 2015_Mstest_Functional Testing - Fatal编程技术网

C# 一种快速生成一系列有序测试的方法,无需重命名单元测试 问题:

C# 一种快速生成一系列有序测试的方法,无需重命名单元测试 问题:,c#,selenium,visual-studio-2015,mstest,functional-testing,C#,Selenium,Visual Studio 2015,Mstest,Functional Testing,对于大量的单元测试,是否有一种简单的方法可以为我的项目中的每个测试类生成一个“OrderedTest”文件,允许我按照每个测试方法在各自的类中出现的顺序运行它们 背景 在单元测试项目中,我有大量(1000+)的Selenium功能测试。在我的项目中,每个类代表一个页面,每个“单元测试”代表我的一个功能测试。通常,测试以以下方式运行: 在页面中创建复杂对象(10ish测试) 操纵\编辑-已创建的复杂对象(100个测试) 撕下\Delete-逐块移除复杂对象,直到测试页面恢复其原始状态(10ish测

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

背景 在单元测试项目中,我有大量(1000+)的Selenium功能测试。在我的项目中,每个类代表一个页面,每个“单元测试”代表我的一个功能测试。通常,测试以以下方式运行:

在页面中创建复杂对象(10ish测试)

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

撕下\Delete-逐块移除复杂对象,直到测试页面恢复其原始状态(10ish测试)

由于每个页面的复杂性和加载时间很多,因此这些测试中的每一个(实际上只是组)都必须在给定的类中以特定的顺序运行。我明白这是为了以这种方式构建我的测试,但不幸的是,我没有找到一种替代设计,用于在任何合理的时间内运行我的测试

我以前使用ReSharpers测试工具来运行这些测试,通过这个工具,我能够按照每个类中出现的顺序运行每个测试。现在我正尝试(出于各种不相关的原因)使用MSTest来运行我的测试。默认情况下,MSTest在一个数据库中运行每个测试

我想用它来强制执行每个测试的顺序。但是,由于我遵循了测试的顺序,因此当前没有按照运行顺序命名测试。我运行测试所需的顺序目前由它们在类中的顺序定义

所以我的问题是,当我创建一个新的“有序测试”文件时,接口不允许我按“自然顺序”(它们在类中出现的顺序)对“可用测试”进行排序,它也不允许我将每个“选定测试”的顺序移动到多个空间(每次单击一次)。在一个小规模的项目中,这会很烦人,因为我的1000多个测试项目(还有更多的1000个项目在进行中)很难为我的每一个类生成一个有序的测试,因为必须手动订购每个项目

跟进 我能想到的解决这个问题的simpilist方法是编写一个脚本来生成“Orderedtest”文件,正如我在问题中所说的那样,但这确实让我觉得太过分了,可能我在编写selenium测试结构时没有遵循标准(或推荐)路径。我认为,如果很多人已经遵循了这条道路,将会有更多关于这个主题的文档,但我发现与这个主题相关的内容确实为我提供了一条清晰的道路


我想知道是否有其他方法可以通过MSTest实现相同的功能

不,我已经修改了我的项目结构,这样我就不再有测试之间的依赖关系,这当然会带来其他问题,但我仍然认为这是一个有效的问题。我希望有人有一个更好的想法,然后只是写出来。。。