我正在尝试创建一个单元测试以在 Microsoft 测试管理器 2010 中的两台机器上运行。在这个测试中,我希望一些客户端和服务器端测试代码同时运行;客户端测试依赖于服务器端测试是否成功。
在测试管理器中组合测试套件时,我希望能够将两个测试设置为具有相同的顺序值(因此它们同时运行)但验证阻止了这一点;设置顺序如下图:
有什么方法可以实现我所追求的同时测试执行?
我正在尝试创建一个单元测试以在 Microsoft 测试管理器 2010 中的两台机器上运行。在这个测试中,我希望一些客户端和服务器端测试代码同时运行;客户端测试依赖于服务器端测试是否成功。
在测试管理器中组合测试套件时,我希望能够将两个测试设置为具有相同的顺序值(因此它们同时运行)但验证阻止了这一点;设置顺序如下图:
有什么方法可以实现我所追求的同时测试执行?
抱歉,回答迟了...我错过了有关您对我的问题的回答的通知:-(对此感到抱歉!
如果您仍在寻找解决方案,这是我的建议。
我想你有一个由两台机器(服务器和客户端)组成的测试环境。如果是这样,您将无法对它们两个都运行测试,或者更好的说法是您对运行测试没有足够的控制权。检查如何同时在多台计算机上运行自动化测试
实际上我在“Visual Studio开发论坛”上发布了一个相关问题,您可以查看我在这里得到的答案:是否可以在多个虚拟机上运行测试,属于相同的环境,使用 build-deploy-test 工作流程
这意味着您最终将创建两个环境,每个环境由一台机器组成(一台用于服务器,一台用于客户端)。
但是,您将无法在构建定义中引用这两个环境,您只能在DefaultLabTemplate 中选择一个环境。
这导致了我可以建议的解决方案:
这不是很好,我知道...
您必须将构建测试代码的构建定义与运行测试的两个构建定义同步。
几个月前我正在考虑设置类似的测试,这是我想出的最佳解决方案......
我还没有尝试过的另一个选择可能是:
正如我所说,我还没有尝试过。
这种方法的缺点是您不会在构建日志中看到测试部分,因为测试不会通过DefaultLabTemplate提供的方式启动。所以当测试失败时构建不会失败。
但是您仍然可以在MTM中看到测试结果,并且可以获得每台机器的测试结果。
但取决于对您来说更重要的是什么(如果测试失败或两者都有,则有休息结果或构建定义失败),这可能是您的解决方案。
是的,您可以使用修改后的 TestSettings 文件。 http://blogs.msdn.com/b/vstsqualitytools/archive/2009/12/01/executing-unit-tests-in-parallel-on-a-multi-cpu-core-machine.aspx