2012-03-02 69 views
8

我试图用DUNIT,其附带的RAD Studio XE2,到单元测试Firemonkey应用程序(C++)。单元测试Firemonkey应用

的问题是,DUNIT是VCL项目,这让我无法包括的测试项目中的Firemonkey单位表(例如:UfrmMain.h)。

即使我分开的视觉与逻辑(多层/ MVC)中,i可以不包括任何Firemonkey库到我的类(有时这将是有益的,当有一类“CustomDatabase”,其具有类型TConnection的一个目的,那只有在Firemonkey中可用 - 当然只是一个例子)。

测试是可能的,当我的firemonkey代码完全分离和离开它的形式,和所述逻辑/数据保存在类用纯C++代码。

所以,这个“障碍”其实是一件好事吗?强迫我使用MultiTier/MVC? (C++中的这个东西对我来说是新的) 或者我应该寻找一个单元测试的替代方案,它可以让我测试表单吗?

(你能推荐我上这是在提到的方式,在那里我可以依靠分离github上或代码示例中的一些C++项目?)

+0

听起来像它的时候,一些企业德尔福haxxor写DUnitFMX – 2012-03-02 16:03:23

回答

2

一种可能的方法是使用TextTestRunner,而不是GUITestRunner。我从来没有真正尝试过这个,但我认为TextTestRunner不使用任何VCL单元,或者至少它使用的功能可以很容易地被删除。实际上,对源代码的快速扫描表明这将起作用。

+0

样的作品。 (我不得不从VCL改变“骨架型”向FMX在测试项目的“.cbproj”编译,但现在的项目需要从的3rdParty组件文件obj文件。几乎放弃firemonkey =/ – Stew 2012-03-03 14:23:08

+0

的是否文本亚军真的不行吗? – 2012-03-05 20:22:35

+0

nop; ~~ – Stew 2012-03-05 20:47:09