NUnit + ReSharper: Как просмотреть результаты для TestFixture с разными параметрами? - PullRequest
23 голосов
/ 17 мая 2010

Я написал модульные тесты под NUnit, которые используют TestFixtures с различными параметрами. Теперь, когда я запускаю тесты, я хочу видеть, с какими параметрами тест был пройден, а с какими - нет. К сожалению, ReSharper показывает только « Тест не пройден: дочерний тест не пройден » и больше никаких сведений. Есть ли способ узнать, какие параметры вызвали неудачу теста?

Спасибо!

Ответы [ 4 ]

16 голосов
/ 09 июля 2010

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

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

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


EDIT:

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

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

Однако, по словам Виктора Кроппа (по ссылке выше):

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

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

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

EDIT2:

Больше ответов от Виктора Кроппа:

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

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

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

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

EDIT3:

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

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

1 голос
/ 16 июня 2010

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

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

Очевидно, это будет поддерживаться в R # 5.X.

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

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

1 голос
/ 17 июня 2010

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

Если ваш тест не пройден, ваше сообщение будет тут же.

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

1 голос
/ 20 мая 2010

Полагаю, вы говорите о TestCaseAttribute, для такого теста:

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...