LabDefaultTemplate-> ExecuteRemoteTestRun2 не учитывает поле "Порядок" теста в MTM
Сценарий:
Создайте 2 теста codedui. Первый тест будет Test1, а второй Test2.
Создайте 2 теста в Mtm.
Создайте 2 комплекта в МТМ. Suite1 и Suite2.
Добавьте в Suite1 тесты в следующем порядке: Test1, а затем Test2.
Добавьте в Suite2 тесты в следующем порядке: Test2, затем Test1.
Теперь создайте сборку с шаблоном "LabDefaultTemplate". В тестах добавьте Suite1 и Suite2.
Теперь используйте MTM, измените порядок тестов в наборах и снова запустите сборку.
Тестовый агент запускает тесты в наборах в том порядке, в котором они были вставлены, и не будет использовать поле заказа.
Мы пользователь Test test 2013, Test Agent 2013, TFS 2013.
Теперь для деталей.
WorkFlow LabDefaultTemplate выполняет следующую операцию "ExecuteRemoteTestRun2"
В методе TestRunCreation.CreateTestRun тестовая точка запрашивается в соответствии с комплектом и конфигурацией.
Мы видим, что у Select нет "Order by", и по этой причине мы получили тест "no" в порядке "Test in Suite".
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.
Barak