2012-03-02 5 views
8

Я пытаюсь использовать DUnit, который поставляется с RAD Studio XE2, для модуляции тестирования приложения Firemonkey (C++).Модуль тестирования приложения Firemonkey

Проблема заключается в том, что DUnit является проектом VCL, и это не позволяет включить в проект тестирования модули единиц Firemonkey (например, UfrmMain.h).

Даже если я отделяю Visual Logic (MultiTier/MVC), я не могу включить в мои библиотеки Firemonkey (иногда это было бы полезно, когда есть класс CustomDatabase, который имеет объект типа TConnection, который доступен только в Firemonkey - конечно только пример).

Тестирование возможно, когда я полностью разделяю код firemonkey и оставляю его на форме, а логика/данные хранятся на классах с чистым кодом на C++.

Итак, этот «гандикап» на самом деле хорош? Заставляя меня работать с MultiTier/MVC? (Эта вещь в C++ для меня нова) Или мне нужно искать альтернативу модульного тестирования, что позволяет мне также тестировать формы?

(Вы можете также порекомендовать мне некоторые C++ проект на GitHub или код, например, отделенного в указанном пути, где я могу положиться?)

+0

Похоже, что пришло время для предприимчивого Delphi haxxor написать DUnitFMX –

ответ

2

Одним из возможных подходов было бы использовать TextTestRunner, а не GUITestRunner. Я никогда не пытался это сделать, но думаю, что вполне возможно, что TextTestRunner не использует никаких единиц VCL, или, по крайней мере, то, что он действительно использует, можно легко исрезать. И действительно, быстрое сканирование исходного кода подсказывает, что это сработает.

+0

вид работ. (мне пришлось изменить «FrameworkType» с VCL на FMX на «.cbproj» тестового проекта для компиляции, но теперь для проекта требуется файл .obj из файла компонента 3rdparty. почти отказ от firemonkey =/ – Stew

+0

Имеет ли текст бегун действительно не работает? –

+0

nop; ~~ – Stew

Смежные вопросы