У нас есть приложение 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.