(Среда: VSTS2010 с использованием IronPython и TFS SDK)
Рабочий процесс №1 Следующий рабочий процесс ведет себя так, как я и ожидал:
- Создать новый тестовый запуск
- Добавить тестпойнт(ы)
- Сохранить тест
Мое ожидаемое поведение: тестовый прогон сохраняется с контрольными точками.
Наблюдаемое поведение: соответствует моему ожидаемому поведению — подтверждено вызовом testrun.QueryTestResults().
Рабочий процесс 2 Следующий рабочий процесс работает не так, как я ожидал:
- Создать новый тестовый запуск
- Добавить тестпойнт
- Сохранить тест
- Добавить еще один тестпойнт
- Сохранить тест
Мое ожидаемое поведение. Тестовый запуск должен быть сохранен с контрольными точками.
Наблюдаемое поведение. Первая контрольная точка сохранена. Все остальные тестпоинты после первоначального сохранения не сохраняются. Нет никаких ошибок или каких-либо отзывов от SDK, указывающих на сбои.
Рабочий процесс №3 Аналогично, следующий рабочий процесс ведет себя не так, как я ожидал:
- Получить существующий тестовый запуск по идентификатору testManagementService.QueryTestRuns("SELECT * FROM TestRun WHERE TestRunId=%s" % testrunId)
- Добавить тестпойнт
- Сохранить тест
Мое ожидаемое поведение: Тестовый запуск должен быть сохранен с тестовыми точками.
Наблюдаемое поведение: Добавленная тестовая точка не добавляется. Нет никаких ошибок или каких-либо отзывов от 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. Вы не можете добавлять тестовые точки после первого сохранения тестового прогона.