2015-04-17 3 views
-1

В настоящее время я участвую в модульных тестах, и я хотел бы занести результаты в базу данных. Мои тесты используют specflow, сконфигурированный для преобразования спецификаций в MsTest.Как получить доступ к результатам единичных тестов на C#?

Мой текущий метод определения результата теста:
* Проверьте ScenarioContext.Current.TestError
* Если это нуль, тест пройден
* Если есть ошибка, проверьте, содержит ли сообщение «неубедительными» или «пропускаются »(это регистрируется как неубедительное).
* В противном случае тест регистрируется как сбой

Но этот метод кажется мне действительно неудобным. Есть ли где-нибудь поле, которое просто говорит мне Fail Pass или Inconclusive, поэтому мне не нужно разбираться в обходном пути?

+3

, если есть ошибка, это не "неубедительными", это провал. неубедительные модульные тесты кажутся плохо спроектированными. – DLeh

+0

@DLeh Извините, что формулировка выглядит пугающей. Я хочу сказать, что объект TestError будет содержать сообщение о том, что тест был неубедительным. Это может произойти из-за того, что веб-сервис не работает или что-то в этом роде, но не обязательно указывает на то, что сам тест не прошел. – GKS1

+0

модульные тесты не должны вызывать вызовы веб-сервисов. единичный тест, ненадежный, бесполезен. – DLeh

ответ

0

Вы уверены, что именно так вы хотите пойти? mstest и другие бегуны уже имеют опции для вывода результатов в формате xml, которые вы могли бы затем архивировать.

/resultsfile: [имя файла]

https://msdn.microsoft.com/en-us/library/ms182489.aspx

+0

Было бы здорово получить результат теста, как только тест будет выполнен для целей отчетности. Кажется, это дополнительный шаг, чтобы вытащить его из файла XML позже. Спасибо хоть – GKS1

Смежные вопросы