"Коллекция была изменена; операция перечисления может не выполняться." в модульном тестовом проекте - PullRequest
1 голос
/ 15 июля 2011

У меня есть проект asp.net MVC, на котором размещено приложение silverlight.

Я только начал перестраивать этот проект, чтобы в нем не было ничего, кроме класса аутентификации и классов моих сущностей (самообследование).

Проект запускается, однако, как только я добавляю модульное тестирование в проект asp.net, он завершается со следующей ошибкой «Коллекция была изменена; операция перечисления может не выполняться.»

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

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

Кто-нибудь знает, в чем проблема?

1 Ответ

2 голосов
/ 17 июля 2011

Если кому-то еще интересно, у меня есть немного больше информации о том, что происходит с этим проектом.

Прежде всего, я не совсем понял цель файла .accessor.Я не думал пробовать это раньше, но если я удалю его, проект будет построен, и мои тесты будут запущены.

Это, однако, лишает меня возможности тестировать частные методы.Я нашел один пост с визуальной обратной связью, в котором упоминалась та же проблема, однако его ошибка была вызвана проблемой наследования.Публикуйте ниже, если кому-то еще интересно (Требуется вход в систему).

https://connect.microsoft.com/VisualStudio/feedback/details/543954/collection-was-modified-error-in-microsoft-teamtest-targets-is-not-descriptive#tabs

В настоящее время я прекращаю тестировать частные методы и отмечаю это как ответ.Очевидно, я изменю свой ответ, если у кого-то есть лучшее решение.

...