Подтвердить что ты не робот

Автоматическое тестирование модуля Silverlight с помощью CruiseControl.NET

В настоящее время это лучшее решение для автоматизации запуска модульных тестов с приложениями Silverlight в CruiseControl.NET?

Желательно, чтобы я запускал модульные тесты MSTest, поскольку они официально не поддерживаются для silverlight, но я открыт для предложений, которые используют другие рамки тестирования.

4b9b3361

Ответ 1

Ноябрьская версия Silverlight Toolkit содержит не только платформу тестирования Silverlight Unit, но также и задачу MSBuild, чтобы позволить структуре запускается из командной строки. См. сообщение Джеффа Уилкокса для подробностей, но вы, в основном, делаете это:

msbuild /t:test /p:browser=firefox

Поскольку CC.Net может запускать MSBuild, вы должны иметь возможность хотя бы вызывать тесты. Выходной сигнал находится в формате TRX.

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

Ответ 2

У меня была эта проблема, и в настоящий момент официально не поддерживаются способы проведения этих модульных тестов. Основная проблема заключается в том, что платформа тестирования Silverlight Unit не поддерживает подключение к MSTest и поэтому не может быть действительно интегрирована в какой-либо CI. Однако есть способ взломать это с помощью Powerhell - см. здесь.

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

Обновление: как написал jbloomer, есть доступное пошаговое руководство в блоге Джеффа Уилкокса о том, как настроить задачу MSBuild для модуля Silverlight Тестирование. Я бы рекомендовал выбрать этот путь: как только MSBuild настроен, у вас не должно возникнуть проблемы с подключением его к CruiseControl.NET.

Ответ 3

Для запуска тестов Silverlight Unit из командной строки в CCNet или TeamCity вы можете использовать Lighthouse Silverlight Unit Test Runner:

http://lighthouse.codeplex.com/

Он работает с любым сервером сборки, потому что он запускает модульные тесты и создает файл результатов xml, совместимый с NUnit, поэтому вы запускаете его так же, как и бегун из NUnit Console.

Ответ 4

Не могли бы вы использовать стороннюю структуру тестирования, например NUnit или XUnit.net? Затем вы можете вызвать исполняемый файл из CC.net. На самом деле CCNet имеет задачу NUnit.

Ответ 5

Наряду с LightHouse есть еще один инструмент автоматизации тестирования - StatLight.