Модуль тестирования приложения Firemonkey

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

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

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

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

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

(Можете ли вы также порекомендовать мне какой-нибудь проект на С++ на примере github или кода, который разделен указанным образом, на который я могу положиться?)

1 ответ

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

licensed under cc by-sa 3.0 with attribution.