Я никогда не использовал шаблон тестового проекта silverlight . Я использовал только nunit для тестирования юнитов в silverlight. Итак, я оставлю это кому-то еще, чтобы ответить.
Что касается других ваших вопросов:
Модульное тестирование должно управлять вашим дизайном. Ваши юнит-тесты являются первыми пользователями вашего кода. Ваш код основан на некоторых ожиданиях, и модульные тесты подтверждают, что ожидания оправдываются. Использование шаблона MVVM (как вы используете Silverlight), облегчает модульное тестирование. Самое важное, что нужно помнить, это то, что вы должны писать тестируемый код. И для написания тестируемого кода самое важное, что нужно помнить, - это вводить зависимости. Например, если ваш код делает вызов в БД. У вас не может быть модульного теста, звонящего в БД. Вместо этого вы будете издеваться над уровнем доступа к данным. Это где такие понятия, как издевательства и заглушки входят в картину. Я использую moq для насмешки в своих юнит-тестах sivlerlight. Еще одна важная вещь, которой я следую, которая, как мне кажется, облегчает модульное тестирование, - это принцип единой ответственности. Наконец, рассматривайте ваш тестовый код как производственный код, иначе ваши тесты могут дать вам ложное представление о том, что ожидания оправдываются. Ваши модульные тесты являются кодом и, следовательно, могут иметь ошибки.
в чем различия между единицами
тесты и автоматические юнит-тесты?
Я не совсем уверен, что вы имеете в виду под этим. Модульные тесты - это автоматизированный способ тестирования белого ящика. Вы можете иметь сценарии, которые запускают все модульные тесты, каждый раз, когда вы проверяете любой код в хранилище. Это может быть частью непрерывной интеграции.
Как мне провести модульный тест в
Silverlight, 1014 *
В Silverlight для облегчения тестирования вы должны использовать команды, а не писать код в файлах с выделенным кодом. Это позволяет имитировать нажатие кнопки и другие события GUI во время модульного тестирования. Используя шаблон MVVM вместе с командами, вы можете протестировать весь код C # (не xaml), вплоть до пользовательского интерфейса (конвертер, виртуальные машины и т. Д.).
Очень сложно упомянуть все в этом одном ответе. Я хотел бы предложить, вы Google для MVVM, команды в Silverlight, Мартин Фаулер - макет не заглушки, насмешливые рамки для Silverlight, внедрение зависимостей