Подтвердить что ты не робот

NUnit + ReSharper: Как просмотреть результаты для TestFixture с разными параметрами?

Я написал модульные тесты под NUnit, которые используют TestFixtures с разными параметрами. Теперь, когда я запускаю тесты, я хочу посмотреть, с какими параметрами прошел тест, а с которым нет. К сожалению, ReSharper показывает только " Test failed: Child test failed" и больше информации. Есть ли способ увидеть, какие параметры вызвали сбой теста?

Спасибо!

4b9b3361

Ответ 1

Я отправил JetBrains по электронной почте и получил ответ от Андрея Серебрянского от 9 июля 2010 года:

Эта проблема будет рассмотрена в следующем выпуске ReSharper.

Я считаю, что текущий релиз на момент написания этой статьи - 5.1.


EDIT:

Основываясь на комментариях @Damien McGivern и @zcrar70

Проблема здесь, и она исправлена ​​в внутренней сборке Resharper.

Однако согласно Виктору Кроппу (по вышеуказанной ссылке):

Эти изменения НЕ будут включены в 5.1 по техническим причинам.

и когда его спросят, какова дата выпуска, ответ был (по состоянию на 3 августа 2010 года):

Извините, наша дорожная карта еще не установлена. Я действительно не знаю.

EDIT2:

Другие ответы от Victor Kropp:

Q. Есть ли какое-либо обновление в строке времени, когда это будет в выпуске или ночной сборке, которую мы можем использовать?

а. ReSharper 6.0 EAP, как ожидается, начнется до конца года. Я не знаю фактическую дату.

Q. Будет ли эта ошибка исправлена ​​в любой версии до 6.0?

а. Нет извините.

EDIT3:

Я только что протестировал это с помощью Resharper 6 EAP (сборка 2101), и похоже, что они неплохо справились с этой проблемой.

Я не играл с ним слишком много, но пока мне нравится то, что я вижу.

Ответ 2

Я предполагаю, что вы говорите о TestCaseAttribute, для теста вроде этого:

[TestCase(true, Description = "When true")]
[TestCase(false, Description = "When false")]
[Test]
public void SomeTest(bool parameter) { . . . }

Я использую свойство Description для этой ситуации. С описанием свойства, он скажет вам, какой тест не удалось. Если вы достаточно хорошо описали ситуацию, она должна быть самодокументирована.

Ответ 3

Какую версию ReSharper вы используете?

Update:
Я провел некоторое исследование, и я не думаю, что атрибут TestCase не поддерживается в Resharper 4.X так, как вам бы хотелось.

По-видимому, он будет поддерживаться в R # 5.X.

В то же время для ReSharper есть подключаемый модуль Gallio, который может помочь.

Получил информацию от SO-вопроса здесь → ReSharper Unit Test Runner - TestCase

Ответ 4

Зависит от того, как он не работает. В вашем Assert последний параметр является необязательной строкой, в которую вы можете помещать информацию об ошибке. ex: Assert.IsTrue(false, "Because I'm silly");

Когда ваш тест завершится неудачно, у него появится ваше сообщение.

Аналогично, вы можете использовать Console.Write для вывода теста. Также должен быть стек вызовов, который описывает, где тест не удалось, если вы не поймаете и не тратите впустую исключение.