Использование NUnit для модульного тестирования служб RIA WCF в приложении Silverlight 4
Недавно я пытался использовать шаблон проекта Silverlight NUnit (тот, который был найден здесь у Джейми Кэнсдейла) для проекта Silverlight 4, который использует WCF RIA 1.0. Кажется, я рядом, но все еще не могу заставить его работать.
Вот что я сделал
- Создать проект.:)
- Измените версию Silverlight на 4.
- Установите ссылку на сервисы WCF RIA для моего проекта WCF RIA.
- Убедитесь, что все ссылки (кроме mscorlib) имеют CopyLocal=True.
- Попробуйте запустить тесты.
Что просходит?
Установка тестового устройства (которая содержит только строку "_context = new MyContext();") умирает с этим исключением:
1 тест не пройден: SetUp: System.TypeInitializationException: инициализатор типа для MS.Internal.JoltHelper вызвал исключение. ---
Кто-нибудь еще мог использовать этот шаблон для тестирования проектов WCF RIA?
1 ответ
Консоль NUnit не поддерживает silverlight. Смотрите: http://greenicicleblog.com/2010/04/27/nunit-for-silverlight-updated/(Поиск "Есть ли способ запустить их в nunit-console?")
Вы можете получить порт Silverlight NUinit из кода Google (по ссылке выше), но затем вам нужно будет использовать тестер Silverlight, как описано в первой ссылке выше. Это нормально для ручного запуска тестов, но не полезно в сценарии непрерывной интеграции.
Проблема в том, что когда тесты выполняются в консоли NUnit, я думаю, что они выполняются в CLR, а не во время выполнения Silverlight.
Мы успешно использовали NUnit и NCover с некоторым кодом Silverlight, но это потому, что код, который мы тестировали, был совместим с полной.NET CLR.
Это также хорошая статья, которая описывает, как выполнить модульное тестирование Silverlight с помощью NUnit: http://chris.59north.com/post/Introduction-to-setting-up-automated-unit-testing-in-Silverlight-with-NUnit.aspx