Автоматизированное модульное тестирование Silverlight с CruiseControl.NET - PullRequest
12 голосов
/ 19 января 2010

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

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

Ответы [ 5 ]

4 голосов
/ 19 января 2010

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

msbuild /t:test /p:browser=firefox

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

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

3 голосов
/ 19 января 2010

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

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

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

2 голосов
/ 31 марта 2011

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

http://lighthouse.codeplex.com/

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

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

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

0 голосов
/ 19 января 2010

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

...