场景:
创建 2 个 codedui 测试。第一个测试将是 Test1,第二个是 Test2。
在 mtm 中创建 2 个测试用例。
在 MTM 中创建 2 个套件。套件 1 和套件 2。
按以下顺序将测试添加到 Suite1,Test1 然后是 Test2。
按以下顺序将测试添加到 Suite2,Test2 然后是 Test1。
现在使用模板“LabDefaultTemplate”创建一个构建在测试中添加 Suite1 和 Suite2
现在使用 MTM 并更改套件中测试的顺序并再次运行构建。
测试代理按照插入的顺序在套件中运行测试,并且不会使用 order 字段。
我们使用测试控制器 2013、测试代理 2013、TFS 2013。
现在了解详细信息。
WorkFlow LabDefaultTemplate 运行以下活动“ExecuteRemoteTestRun2”
在 TestRunCreation.CreateTestRun 方法中,根据套件和配置请求测试点
我们可以看到 Select 没有“Order by”,这就是我们在套件中的测试顺序中得到测试号的原因。
private ITestRun CreateTestRun(CodeActivityContext context, ITestManagementService testManager, ITestManagementTeamProject project)
{
....
foreach (ITestPoint point in (IEnumerable<ITestPoint>) this.plan.QueryTestPoints(string.Format((IFormatProvider) CultureInfo.InvariantCulture, "SELECT * FROM TestPoint WHERE SuiteId={0} AND ConfigurationId={1}", new object[2]
{
(object) testSuiteId,
(object) this.TestParameters.Get((ActivityContext) context).TestConfigurationId
})))
{
flag = true;
testRun.AddTestPoint(point, (TeamFoundationIdentity) null);
}
我认为这是一个错误,有人可以批准吗?
按 MTM 顺序执行套件的解决方法是什么。
巴拉克