Использование NUnit для модульного тестирования служб RIA WCF в приложении Silverlight 4

Недавно я пытался использовать шаблон проекта Silverlight NUnit (тот, который был найден здесь у Джейми Кэнсдейла) для проекта Silverlight 4, который использует WCF RIA 1.0. Кажется, я рядом, но все еще не могу заставить его работать.

Вот что я сделал

  1. Создать проект.:)
  2. Измените версию Silverlight на 4.
  3. Установите ссылку на сервисы WCF RIA для моего проекта WCF RIA.
  4. Убедитесь, что все ссылки (кроме mscorlib) имеют CopyLocal=True.
  5. Попробуйте запустить тесты.

Что просходит?

Установка тестового устройства (которая содержит только строку "_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

Другие вопросы по тегам