Перемещение тестов NUnit / ReSharper в Silverlight - PullRequest
4 голосов
/ 14 октября 2010

У нас есть приложение WinForms, которое мы планируем портировать на Silverlight.Очевидно, что пользовательский интерфейс должен быть полностью переписан, но у нас есть много бизнес-логики, которая хорошо протестирована с тестами NUnit .Мы используем ReSharper для запуска тестов внутри IDE и nunit-console для запуска тестов на машинах непрерывной интеграции.

Когда мы начинаем переводить наши классы бизнес-логики в сборки Silverlight,как заставить эти модульные тесты работать с этими сборками Silverlight?Насколько я понимаю, NUnit не может запускать тесты Silverlight без значительных настроек , и сказал, что настройка (в форме шаблона проекта), по-видимому, относится к VS2008 и Silverlight 3 (мы, скорее всего, будемиспользуя VS2010 и Silverlight 4 для нашего порта).

Мы можем перенести наши тесты на другую платформу тестирования, если это лучший вариант, но, похоже, больше ничего кроме NUnit нет. Silverlight Unit Test Framework выглядит так, как будто он работает внутри браузера, который не является началом непрерывной интеграции.

Я знаю, что сборки Silverlight 4.0 могут быть загружены висполняемый файл .NET 4.0 , но я не уверен, что это означает для модульного тестирования.Будет ли работать компиляция нашей сборки бизнес-логики как библиотеки Silverlight 4.0 и написать полнофункциональную тестовую сборку .NET 4.0 NUnit, которая ссылается на DLL Silverlight?Кажется, что это может сработать, но кто-нибудь делал это успешно с юнит-тестами?

Итог, что нам делать для наших юнит-тестов? Нам нужно решение, которое

  • по-прежнему позволяет запускать тесты в тестовом средстве ReSharper;
  • также можно запускать из командной строки;
  • работает в VS2010.

Мы не создаем экземпляры каких-либо объектов пользовательского интерфейса в наших тестах, поэтому эти неприятные проблемы с потоками DependencyObject не являются проблемой.Нам просто нужно проверить нашу бизнес-логику Silverlight.

1 Ответ

3 голосов
/ 15 октября 2010

Не уверен, поддерживается ли NUnit или насколько сложно его добавить, но вы можете проверить http://AGunit.codeplex.com для поддержки ReSharper Silverlight.

Я написал небольшой инструмент для C.I. тесты silverlight и попытка помочь в нормальных сценариях dev / tdd - вы можете проверить http://StatLight.codeplex.com.

Вы должны быть в состоянии найти билд NUnit для silverlight (есть несколько). Не уверен ни в каких бегунах, которые работают с NUnit в браузере. Однако StatLight может запустить некоторые базовые функции NUnit для вас.

Надеюсь, это поможет вам.

...