API TFS: невозможно добавить тестовую точку после сохранения тестового прогона

(Среда: VSTS2010 с использованием IronPython и TFS SDK)

Рабочий процесс №1 Следующий рабочий процесс ведет себя так, как я и ожидал:

  1. Создать новый тестовый запуск
  2. Добавить тестпойнт(ы)
  3. Сохранить тест

Мое ожидаемое поведение: тестовый прогон сохраняется с контрольными точками.

Наблюдаемое поведение: соответствует моему ожидаемому поведению — подтверждено вызовом testrun.QueryTestResults().

Рабочий процесс 2 Следующий рабочий процесс работает не так, как я ожидал:

  1. Создать новый тестовый запуск
  2. Добавить тестпойнт
  3. Сохранить тест
  4. Добавить еще один тестпойнт
  5. Сохранить тест

Мое ожидаемое поведение. Тестовый запуск должен быть сохранен с контрольными точками.

Наблюдаемое поведение. Первая контрольная точка сохранена. Все остальные тестпоинты после первоначального сохранения не сохраняются. Нет никаких ошибок или каких-либо отзывов от SDK, указывающих на сбои.

Рабочий процесс №3 Аналогично, следующий рабочий процесс ведет себя не так, как я ожидал:

  1. Получить существующий тестовый запуск по идентификатору testManagementService.QueryTestRuns("SELECT * FROM TestRun WHERE TestRunId=%s" % testrunId)
  2. Добавить тестпойнт
  3. Сохранить тест

Мое ожидаемое поведение: Тестовый запуск должен быть сохранен с тестовыми точками.
Наблюдаемое поведение: Добавленная тестовая точка не добавляется. Нет никаких ошибок или каких-либо отзывов от SDK, указывающих на сбои.

Кто-нибудь может объяснить, почему наблюдаемое поведение отличается от моего ожидаемого поведения в рабочих процессах № 2 и № 3?

ОБНОВЛЕНИЕ (16 ноября 2012 г., 12:00 по центральному поясному времени)

Отвечая (редактируя) на мой собственный вопрос, так как копать для этого было непросто.

Я нашел следующий абзац по адресу http://blogs.msdn.com/b/nidhithakur/archive/2011/04/08/importing-testcase-results-to-mtm.aspx после выполнения поиска на msdn.microsoft.com (условия поиска : itestrun добавить сбой тестпойнта).

Чтобы иметь возможность добавлять результаты в этот план тестирования, создайте новый тестовый прогон в плане тестирования. сопоставьте тестовые точки, которые присутствуют в словаре, и добавьте к этому тестовому запуску. В идеале вы должны иметь возможность добавлять результаты при добавлении контрольной точки к выполнению, но API run.Save() сейчас работает только для одного сохранения. Итак, вам нужно будет добавить все контрольные точки, сохранить тестовый прогон, а затем выполнить итерацию по коллекции прогонов, чтобы добавить результаты по отдельности. Для повышения производительности сохраните коллекцию результатов один раз после добавления/обновления всех результатов.

Таким образом, это ограничение VSTS2010. Вы не можете добавлять тестовые точки после первого сохранения тестового прогона.


person Hox    schedule 16.11.2012    source источник
comment
Когда вы сможете ответить на свой вопрос, опубликуйте решение как ответ.   -  person Ryan Gates    schedule 21.05.2013
comment
Благодарю вас! Это избавило нас от головной боли, пытаясь понять, почему это не работает.   -  person user952342    schedule 26.06.2014