NUnit чрезвычайно медленный в Visual Studio при использовании комбинаторного атрибута

Моя установка — NUnit (последняя, ​​2.6.что-то), VS13 с R#8 и Win7. К моему большому удивлению, я заметил, что когда я использую атрибут Combinatorial, среда IDE работает очень, мучительно медленно. Мы говорим об ожидании в затененном окне VS в течение нескольких секунд после каждого нажатия клавиши!

Я гуглил это, но, похоже, нет подходящих хитов. Я подозреваю, что виновата наша локальная установка (как можно не установить NUnit и R#?!), но другим может быть интересно узнать, что делать, когда это происходит.

Мы заметили, что задержка увеличивается экспоненциально по мере увеличения количества тестовых случаев. Это пример одного из способов.

[Test]
[Combinatorial]
public void AddWaveformTest(
  [Values(null, "", "sec", "stringThatMayBulky")] string s1,
  [Values(null, "", "sec", "stringThatMayBulky")] string s1,
  [Values(null, "", "sec", "stringThatMayBulky")] string s3,
  [Values(null, "", "sec", "stringThatMayBulky")] string s4,
  [Values(int.MinValue, int.MaxValue, -1, 0, 1)] int i1,
  [Values(null, "", "sec", "stringThatMayBulky")] string s5,
  [Values(null, "", "sec", "stringThatMayBulky")] string s6,
  [Values(null, "", "sec", "stringThatMayBulky")] string s7,
  [Values(null, "", "sec", "stringThatMayBulky")] string s8,
  [Values(int.MinValue, int.MaxValue, -1, 0, 1)] int i2)
{
  ...
}

Это немного больше 26 миллионов операций, что может быть много, но с компьютерной точки зрения это не должно быть так уж плохо. Верно? Я также заметил, что непосредственной причиной является не столько атрибут Combinatorial, сколько атрибут Values. Когда я комментирую последнее, все снова работает, а комментирование первого не приносит улучшения...


person Konrad Viltersten    schedule 25.06.2014    source источник
comment
Просто мысль, но разве у вас нет установки и разборки приспособления, которые могут повлиять на вашу производительность?   -  person samy    schedule 25.06.2014
comment
@samy Да, у меня есть и установка, и демонтаж. Однако тот факт, что меня ошеломляет, заключается в том, что замедление происходит по мере набора текста, буквально после каждого нажатия клавиши! Такое ощущение, что VS перекомпилирует что-то в фоновом режиме для каждого нажатия на клавиатуру. Как это возможно?! И как убить проблему?   -  person Konrad Viltersten    schedule 25.06.2014
comment
У вас нет таких инструментов, как ncrunch, или настройки интеграции с живыми тестами?   -  person samy    schedule 26.06.2014
comment
@samy Это хорошее предположение. Однако я не думаю, что это так. По крайней мере, я сознательно ничего подобного не устанавливал. Я только что установил VS13, R#8 и NUnit2.6. Если он не добавлен и не запущен автоматически, у меня нет ничего подобного на моей машине...   -  person Konrad Viltersten    schedule 26.06.2014
comment
Конрад, я думаю, что в R#8 может быть встроено некоторое непрерывное тестирование, взгляните на это down-visual-studio-text-editing" title="resharper 8 1 средство запуска тестов замедляет редактирование текста Visual Studio">stackoverflow.com/questions/21445938/   -  person samy    schedule 26.06.2014
comment
@samy Судя по ссылке, проблема решена в версии 8.2 (и, поскольку я установил новый R # 8 всего неделю назад, я предполагаю, что он у меня есть), поэтому я не уверен, что проблема в этом. Тем не менее, я ударю его завтра на работе. И - самое главное - огромное упорство, дружище! Очень полезно. Опубликуйте свой комментарий как ответ, чтобы я мог проверить его как ответ, если он сработает. :)   -  person Konrad Viltersten    schedule 27.06.2014


Ответы (1)


Вы можете проверить эту тему поскольку похоже, что resharper может иметь ошибку в версии 8.x, которая вызывает проблему с ответом окна редактирования через некоторое время после каждого нажатия клавиши.

Некоторые области, которые были отложены в комментариях к вопросу:

  • установка и демонтаж дороги: эта идея была связана со вторым пунктом ->
  • внутри Resharper существует какое-то непрерывное тестирование (например, возможности ncrunch или приближение), но OP не считает это вероятным.

Не стесняйтесь, приходите и комментируйте проблему, мне очень интересно (кстати, время, в течение которого окно редактора недоступно, соответствует продолжительности вашего теста примерно?)

person samy    schedule 28.06.2014
comment
Время на самом деле немного то же самое в двух выпусках. Хотя не уверен, что в этом есть какой-то смысл. В любом случае, я посмотрю на это в понедельник на работе. +1 за настойчивость и подсказку. :) - person Konrad Viltersten; 29.06.2014