Я записал модульные тесты под NUnit, которые используют TestFixtures с различными параметрами. Теперь, когда я запускаю тесты, я хочу видеть, с которым прошелся тест параметров и с которым не имеет. К сожалению, ReSharper показывает только "Проваленному тесту: Дочерний тест перестал работать" и больше никакой информации. Там какой-либо путь состоит в том, чтобы видеть, какие параметры вызвали отказ при испытании?
Спасибо!
Я написал об этом в JetBrains и 9 июля 2010 г. получил следующий ответ от Андрея Серебрянского:
Эта проблема будет решена в следующем выпуске ReSharper.
Я считаю, что на момент написания этой статьи текущая версия - 5.1.
На основе комментариев @Damien McGivern и @ zcrar70
Проблема здесь , и она исправлена во внутренней сборке Resharper.
Однако, по словам Виктора Кроппа (ссылка выше):
Эти изменения НЕ будут включены в 5.1 по техническим причинам.
и когда его спросили, какой будет дата выпуска, был дан ответ (по состоянию на 3 августа 2010 г.):
Извините, наша дорожная карта еще не установлена. Я правда не знаю.
Дополнительные ответы Виктора Кроппа:
Q. Есть ли какие-либо обновления в графике, когда это будет в выпуске или ночной сборке, которые мы можем использовать?
А. Ожидается, что ReSharper 6.0 EAP начнется до конца года. Сейчас я не знаю точной даты.
В. Будет ли это исправление ошибки доступно в любом выпуске до 6.0?
A. Нет простите.
Я только что протестировал это с помощью Resharper 6 EAP (сборка 2101), и похоже, что они неплохо поработали над исправлением этой проблемы.
Я еще не слишком много играл с этим, но пока мне нравится то, что я вижу.
Я предполагаю, что вы говорите о TestCaseAttribute
, для теста вроде этого:
[TestCase(true, Description = "When true")]
[TestCase(false, Description = "When false")]
[Test]
public void SomeTest(bool parameter) { . . . }
Я использую свойство Description для этой ситуации. Свойство description подскажет вам, какой тест не прошел. Если вы достаточно хорошо описали ситуацию, она должна быть самодокументируемой.
Какую версию ReSharper вы используете?
Обновление:
Я провел небольшое исследование и не думаю, что атрибут TestCase не поддерживается в Resharper 4.X таким образом вы бы хотели, чтобы это было.
Очевидно, это будет поддерживаться в R # 5.X.
Между тем существует подключаемый модуль для ReSharper под названием Gallio , который может помочь.
Получил информацию из вопроса SO здесь -> Средство выполнения модульных тестов ReSharper - TestCase
Зависит от того, как происходит сбой. В вашем Assert последний параметр является необязательной строкой, в которую вы можете поместить информацию о сбое.
например: Assert.IsTrue(false, "Because I'm silly");
Когда ваш тест провалится, в нем будет ваше сообщение.
Аналогично, вы можете использовать Console.Write для вывода теста. Там также должен быть стек вызовов, описывающий, где тест потерпел неудачу, если вы не поймаете и не отработаете исключение.