2

场景:

  1. 创建 2 个 codedui 测试。第一个测试将是 Test1,第二个是 Test2。

  2. 在 mtm 中创建 2 个测试用例。

  3. 在 MTM 中创建 2 个套件。套件 1 和套件 2。

  4. 按以下顺序将测试添加到 Suite1,Test1 然后是 Test2。

  5. 按以下顺序将测试添加到 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 顺序执行套件的解决方法是什么。

巴拉克

4

0 回答 0