Как запустить модульные тесты MonoTouch в MonoDevelop? - PullRequest
1 голос
/ 03 апреля 2012

После добавления проекта модульных тестов MonoTouch я должен выполнить тесты через симулятор. Поскольку большинство моих тестов не тестируют пользовательский интерфейс, есть ли способ запустить тесты через MonoDevelop, как обычный проект nunit?

1 Ответ

3 голосов
/ 03 апреля 2012

есть ли способ запустить тесты через MonoDevelop, как обычный проект nunit?

В зависимости от ваших модульных тестов вы все равно можете продолжать использовать нормальные проекты модульных тестов. Они будут выполняться тестовым модулем MonoDevelop, который работает в режиме нормальной / настольной среды .NET (например, Mono) в операционной системе хоста (например, OSX).

Так что если у вас есть pure C # тестовый код , который не зависит ни от чего специфичного для iOS , то эта опция всегда доступна.

В отличие от этого Проект модульных тестов MonoTouch предназначен для выполнения с использованием Touch.Unit тестового прогона под iOS (симулятор или устройства). Как таковое, это должно быть приложение, поскольку невозможно (т.е. разрешено в iOS) для приложения general runner (или любого другого) загружать и выполнять код (например, библиотека, содержащая ваши тесты).

За исключением бегуна, проекты - это просто ссылка на сборку NUnitLite (0.6), чтобы дать вам среду для модульного тестирования.

Поскольку большинство моих тестов не тестируют пользовательский интерфейс

Touch.Unit не предназначен для запуска тестов пользовательского интерфейса - точно так же, как NUnit (с его GUI runner) не предназначался для модульного тестирования приложений System.Windows.Forms. Тот факт, что он предоставляет пользовательский интерфейс, затрудняет тестирование (некоторых) компонентов пользовательского интерфейса.

Основная цель Touch.Unit - дать вам возможность выполнить тест в тех же условиях (например, ЦП, память) и ограничениях (например, AOT), которые были бы установлены на реальном устройстве iOS (или, в меньшей степени, на симуляторе iOS). иметь - предоставляя вам доступ ко всем специфическим API iOS (поддерживаемым устройством или симулятором).

...