Использование Moles для насмешки статического конструктора - обнаружена пользовательская точка останова - PullRequest
0 голосов
/ 21 ноября 2011

Я использую Moles в унаследованном проекте, где мне нужно макетировать класс с помощью статического конструктора, который делает то, чего я не хочу, в тестовой среде.Нет проблем - атрибут MolesEraseStaticConstructor для спасения, верно?Ну, не совсем ...

Когда я пытаюсь запустить свои тесты, я получаю всплывающее сообщение: «Microsoft.Moles.VsHost обнаружил определенную пользователем точку останова».с описанием: «Точка останова в приложении указывает на программную ошибку. После закрытия этого диалогового окна приложение продолжит работу, но оно может находиться в нестабильном состоянии».

Последняя часть сообщенияtrue: если я выберу «Закрыть», иногда тест не пройден, а иногда - нет, а в других случаях он прерывается.

Если я выбрал «Отладка», я перехожу к некоторому ассемблерному коду, который я не могу понятьгде происходит.

Как я могу узнать больше о том, что здесь происходит не так?

(Небольшой побочный вопрос: я пытался смоделировать класс внутри статического конструктора, чтобы попытаться обойти его таким образом, но, похоже, это не сработало. Я прав, предполагая, что вы можетене высмеиваете что-то внутри статического конструктора с Кротами?)

1 Ответ

1 голос
/ 24 февраля 2012

Я тоже столкнулся с этой проблемой.

У меня был #ifdef DEBUG, и внутри него был вызов System.Diagnostics.Debugger.Break ()

Итак ... действительно была определенная пользователем точка останова. Как глупо с моей стороны!

...