VS2008 - преимущество запуска модульных тестов для библиотеки CF на эмуляторе? - PullRequest
1 голос
/ 26 февраля 2009

При использовании платформы модульного тестирования VS2008 я вижу, что testrunConfig имеет опцию для установки хоста. Если я изменю «Хост» со «Smart Device» на «Default», то у меня появится впечатление, что я могу запустить тесты без развертывания в эмуляторе.

Я хочу протестировать библиотеку, созданную для использования на Compact Framework, но она не имеет ничего общего с пользовательским интерфейсом и т. Д. Хорошо ли работать с ней на хосте по умолчанию? Или есть различия, которые могут привести к тому, что тест на самом деле будет прерван при запуске на эмуляторе и на моем локальном компьютере? (Я предполагаю, что при работе по умолчанию все равно будут использоваться библиотеки CF .Net, поскольку это библиотеки, на которые dll проверяет ссылки?)

1 Ответ

1 голос
/ 26 февраля 2009

Если вы измените цель теста на «По умолчанию», она попытается запустить тесты на рабочем столе. Проблема в том, что ваши тесты будут иметь ссылки на тестовые сборки Smart Device, и они вообще не смогут работать. Вы получите сообщение об этом:

System.ArgumentException: Object of type
'Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext' 
cannot be converted to type 
'Microsoft.VisualStudio.TestTools.UnitTesting.TestContext'

Тем не менее, я не думаю, что это было бы хорошей идеей в любом случае. Вы хотите, чтобы ваши тесты работали против CF, чтобы гарантировать правильное поведение CF. Запуск на рабочем столе не делает этого. Кроме того, во многих случаях, не связанных с пользовательским интерфейсом, вы используете специфичные для CF вещи, например пространство имен WindowsMobile или P / Invoking для coredll.dll.

Работа на эмуляторе или устройстве медленная и реальная сука для отладки, но у них есть значение, которое компенсирует это.

...