我最近在VS 2010中开始使用Ordered测试。我在我的测试套件下创建了一个文件夹,并将测试(流程中的必需测试)从测试列表编辑器拖到有序测试列表中。我能够成功地从VS运行有序测试。但是当我使用MSTest运行有序测试时,有序测试会出错(所有测试都没有执行)。当我在记事本中打开Ordered测试文件时,我看到所有正确配置的存储路径如下所示
*<?xml version="1.0" encoding="UTF-8"?>
<OrderedTest name="MyOrderedTest" storage="OrderedTests\MyOrderedTest.orderedtest" id="afadbaf6-7915-426d-932c-788fc27c7a8f" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
<TestLinks>
<TestLink id="c2367ab7-ab71-bdaf-d039-4d55ea87e962" name="TestOne" storage="TestSuiteName.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<TestLink id="cc156aeb-ed8e-12d6-c9ad-24fadc2ca54b" name="TestTwo" storage="TestSuiteName.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<TestLink id="caa09202-b582-e53c-cae9-7fe8b402b4a2" name="TestThree" storage="TestSuiteName.dll" type="Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestElement, Microsoft.VisualStudio.QualityTools.Tips.UnitTest.ObjectModel, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</TestLinks>
</OrderedTest>*
当我使用MSTest运行单个测试'TestOne'时,它运行成功。 还有什么我需要配置/更改??
先谢谢。 深水_
答案 0 :(得分:1)
我是否理解正确:您已将订购的测试存储在子文件夹中?
如果是这样,只需将您订购的测试移动到根文件夹(不要使用子文件夹存储它们)。
我使用有序测试进行测试自动化时遇到了同样的问题。从 Microsoft Test Manager 运行它时,我收到了错误
"Cannot find the test ‘XXX’ with storage ‘..\bin\debug\YYY.dll"
根据此消息,测试代理(运行测试的组件)正在根文件夹中查找它们,而不是在我存储它们的子文件夹中。 将有序测试移动到我的解决方案的根文件夹解决了这个问题。
这似乎是一个错误。
PS:您可以在输出窗口中检查未执行测试的原因。
答案 1 :(得分:1)
即使有2012版本,也存在此问题。将有序测试移动到根文件夹也解决了我的问题。