2012-03-15 3 views
8

Я использую плагин NUnit от ReSharper. Я не могу найти способ отладки одного теста. Кнопка BUG всегда запускает все тесты, даже когда я запускаю отладку специально из одного тестового метода.NUnit отладка одного теста

Я пытаюсь достичь точки останова с одним конкретным тестом, и я не хочу доводить его до других тестов.

Вы знаете какой-либо способ сделать это? Google не поможет мне в этом ...

Пример моего тестового кода

[Test] 
public void IsValidDoer_DoerValid() 
{ 
    var mockRepositoryDoer = new Mock<IDoerRepository>(); 
    mockRepositoryDoer.Setup(c => c.ActiveDoers).Returns(activeDoers.AsQueryable); 

    var doerValidation = new DoerValidation(mockRepositoryDoer.Object); 

    Assert.IsTrue(dModel.IncludedDoers.Any()); 
} 

[Test] 
public void IsValidDoer_DoerInvalidNoQuota() 
{ 
    var mockRepositoryDoer = new Mock<IDoerRepository>(); 
    var activeDoers = listDoers.ToList(); 
    activeDoers.First().QuotaActivity.Clear(); 
    mockRepositoryDoer.Setup(c => c.ActiveDoers).Returns(activeDoers.AsQueryable); 

    var doerValidation = new DoerValidation(mockRepositoryDoer.Object); 

    Assert.IsFalse(dModel.IncludedDoers.Any()); 
} 
+0

, пожалуйста, отправьте свой тестовый код. Мне нужно посмотреть, как структурированы тесты. –

+0

Я просто вызываю тот же метод с одним и тем же объектом. Я тестирую разные значения для свойств объекта, который используется в методе. Возможно, это тоже можно было бы поставить в одном тесте. Я редактирую с кодом – Mathieu

+0

Просто установил последнюю версию resharper и все другие вещи, и это поведение, похоже, изменилось!Вы можете отлаживать только 1 тест, а обложка не приводит к тому, что мои тесты больше не терпят неудачу, тесты, которые обычно проходят в обычном режиме, но используются для отказа с обложкой по какой-то очень странной причине ... – Seb

ответ

4

Да Наряду с кодом зеленый и желтый знак просто щелкните по нему и щелкните по нему, чтобы запустить этот единственный тест. Вы просто нажмете его, как только вы получите параметры, и в зависимости от того, что вы также установили из Jetbrains, вы также можете запустить покрытие кода.

Вы также можете добавить его в уже существующий сеанс других тестов или создать его в сеансе самостоятельно.

Resharper test

Разъяснение:

Кто downvoted это так, я вернулся и посмотрел и проверил его как для MSTest и NUnit. это правда, что нежелательно выполнять 15 тестов, если вы хотите только отлаживать их. Тест был проведен в визуальной студии 2015 с Resharper 10 и визуальной студией 2013 с Resharper 8. Если вы нажмете на метку в отдельном тестовом файле, она действительно будет запускать код один раз.

Если вы запускаете несколько тестов и получаете тестовый сеанс в бегуне Resharper с тремя тестами, он будет по щелчку правой кнопкой мыши показывать «тесты отладки», однако, если вы выберете только один, он выполнит только один тест и, таким образом, ударит только код только один раз.

+0

Да, но если я ПРОВЕЛ тест, он не остановится в точке останова. Я должен использовать опцию DEBUG для отладки теста. – Mathieu

+0

thats исправить это, то ведет себя таким же образом или имеет, по крайней мере, для каждой версии resharper, которой я владею. Это поведение по дизайну. –

+0

Добавление к другому сеансу изолирует модульный тест, поэтому ваше предложение, безусловно, возможно! – Mathieu

0

Попробуйте щелкнуть правой кнопкой мыши код конкретного теста. В контекстном меню вы должны увидеть «Тест отладки модуля» или что-то подобное.

+1

Это отладочные модули TestS, которые находятся в контексте меню, поэтому этого не добиться. – Mathieu

+0

Вы пробовали щелкнуть его в любом случае? –

+1

Да, он запускает отладочную версию для всех тестов – Mathieu

1

Мы также имеем ту же проблему при использовании ReSharper 10 в качестве тестового бегуна. Он будет запускать все тесты, даже если я настроил только один тест в сеансе. Также он будет запускать все тесты, когда я использовал правый щелчок на тестовом шаре для этого теста.

После установки адаптера в NUnit3 Test под Tools-> Расширения и Updates-> Интернет я мог отлаживать тесты из регулярного тестирования Проводнике Visual Studio 2015, щелкнув правой кнопкой мыши и выбрав отладки выбранных тестов. Это делает только один тест :)

+0

Мне очень понравилось окно тестовых сессий resharper, а также функция обложки, но, черт возьми, адаптер NUnit3 Test Adapter позволяет мне отлаживать только 1 тест за раз, если я хочу так, так и буду. Спасибо за этот ответ. – Seb

+0

Также была проблема. Должна быть ошибка с Resharper? Способ, которым я отлаживаю тест, - это щелкнуть правой кнопкой мыши на тестовом методе «public void Test ...» и нажать «Debug Tests». К счастью, только отладки, что один тест, не все. – syclee

+0

Я пробовал обновление, но по какой-то причине это не сработало. Для меня работал только Ctrl-R + T. Действительно странно, но по крайней мере сейчас это работает. – Nordes

1

У меня был такой же вопрос. При попытке отладки одного теста, щелкнув по кругу и выбрав «Debug (значок ошибки)», он будет отлаживаться для всех модульных тестов.

Я разрешил его, обновив Resharper. Я обновился с Resharper Ultimate 10.0.1 до 10.0.2.

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