Использование Pex и Moles для тестирования не PUT - PullRequest
0 голосов
/ 08 апреля 2011

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

Интегрированного модульного тестирования в VS2010 недостаточно для моих целей, поэтому я посмотрел на Pex & Moles.

У меня есть код, который используется для представления видеофайлов на удаленном устройстве. Доступ к устройству обрабатывается через определенный SDK, и для этого SDK написана оболочка. Используя Moles, я могу переопределить функции-оболочки и заменить их функциями, которые читают данные из локального файла. Я делаю это с помощью Moles и встроенного модульного тестирования. Однако этого недостаточно, так как я могу только имитировать «всегда работающее» устройство, хотя в действительности они часто выходят из строя.

Я думал о добавлении PexChoose в тела поддельных методов, чтобы они либо работали так, как должны, либо не работали так, чтобы Pex построил дерево возможных комбинаций результатов выполнения различных методов.

Однако, если я попытаюсь создать тест Pex из существующего кода, удалив все параметры из теста (они мне не нужны, все устроено внутри), добавлю методы-макеты и попробую запустить Pex Explorations, это приведет к в сообщении "превышен предел пути". Я пытался установить очень высокие границы, но это не помогло. Что я могу сделать, чтобы решить эту проблему?

Я очень новичок в Moles, Pex и модульном тестировании в целом, поэтому я могу ошибаться в концептуальном плане. Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 08 июня 2011

У меня работает.Вот результаты исследования pex: http://xmages.net/storage/10/1/0/c/e/upload/c6c9ced6.png

0 голосов
/ 28 апреля 2011

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

...