Silverlight Unit Testing Framework работает тесты во внешней библиотеке классов - PullRequest
4 голосов
/ 08 июня 2010

В настоящее время я изучаю различные варианты модульного тестирования приложений Silverlight.Одной из доступных платформ является платформа Silverlight Unit Test Framework от Microsoft (разработанная в первую очередь Джеффом Уилкоксом, http://www.jeff.wilcox.name/2010/05/sl3-utf-bits/).

. Один из сценариев, на которые я обращаю внимание, - это запуск одинаковых тестов на обоих Silverlight 3 (ПК)и Windows Phone 7. Silverlight Unit Test Framework (SLUT) работает как на ПК, так и на телефоне. Чтобы избежать необходимости копировать или связывать файлы, я хотел бы поместить свои тесты в общую библиотеку тестов, которая может быть загружена любым приложением WP7используя SLUT или приложение Silverlight 3, использующее SLUT.

Поэтому мой вопрос: будет ли SLUT загружать модульные тесты, определенные в указанной библиотеке классов, или только в исполняющей сборке?

1 Ответ

8 голосов
/ 08 июня 2010

Я провел некоторое исследование, и оказалось, что вы можете сказать тестирующему SLUT, какие сборки тестировать. Это делается путем настройки параметров теста при создании тестовой страницы.

private void Application_Startup(object sender, StartupEventArgs e)
{
    var setting = UnitTestSystem.CreateDefaultSettings();
    setting.TestAssemblies.Add(typeof(TestInReferencedAssembly).Assembly);            
    RootVisual = UnitTestSystem.CreateTestPage(setting);
}

В приведенном выше примере кода TestInReferencedAssembly - это тест, определенный в библиотеке классов, на которую ссылается приложение, запускающее тестовый модуль SLUT. Вы можете добавить сборки, которые должен проверить бегун, чтобы найти модульные тесты. В этом случае я добавляю сборку, к которой принадлежит TestInReferencedAssembly.

Я не проверял, работает ли эта функция при выполнении SLUT на Windows Phone 7, но если это так, мы должны иметь возможность запустить один и тот же набор тестов на телефоне и рабочем столе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...