Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 单元测试Firemonkey应用程序_Delphi_Unit Testing_N Tier Architecture_Firemonkey_Dunit - Fatal编程技术网

Delphi 单元测试Firemonkey应用程序

Delphi 单元测试Firemonkey应用程序,delphi,unit-testing,n-tier-architecture,firemonkey,dunit,Delphi,Unit Testing,N Tier Architecture,Firemonkey,Dunit,我正试图使用RAD Studio XE2附带的DUnit对Firemonkey应用程序(C++)进行单元测试 问题是,DUnit是一个VCL项目,这使得我无法在测试项目中包含Firemonkey单元表单(例如:UfrmMain.h) 即使我将可视化与逻辑(多层/MVC)分离,我也不能将任何Firemonkey库包含到我的类中(有时,当有一个类“CustomDatabase”具有类型为TConnection的对象时,这将非常有用,该对象仅在Firemonkey中可用-当然仅作为示例) P>完全可

我正试图使用RAD Studio XE2附带的DUnit对Firemonkey应用程序(C++)进行单元测试

问题是,DUnit是一个VCL项目,这使得我无法在测试项目中包含Firemonkey单元表单(例如:UfrmMain.h)

即使我将可视化与逻辑(多层/MVC)分离,我也不能将任何Firemonkey库包含到我的类中(有时,当有一个类“CustomDatabase”具有类型为TConnection的对象时,这将非常有用,该对象仅在Firemonkey中可用-当然仅作为示例)

<> P>完全可以将FixMax代码分离,并将其留在表单上,逻辑/数据用纯C++代码保存在类上。 那么,这个“障碍”实际上是一件好事?强迫我使用多层/MVC?(C++中的这个东西对我来说是新的) 或者我应该寻找一种单元测试的替代方案,让我也可以测试表单


(你也可以推荐我在GITHUB或代码示例中的C++项目,在上述方法中我可以依赖?)

< P>一种可能的方法是使用<代码> TextTestRunner < /C> >而不是<代码> GUITestRunner < /> >。我从未真正尝试过这一点,但我认为,
TextTestRunner
不使用任何VCL单元是合理的,或者至少它所使用的可以轻松删除。事实上,快速浏览一下源代码就可以看出这是可行的。

听起来是时候让一些有进取心的Delphi haxxor写一篇Dunitfmx类的作品了。(我不得不将测试项目的“.cbproj”上的“FrameworkType”从VCL更改为FMX以进行编译,但现在该项目需要第三方组件文件中的.obj文件。几乎放弃了firemonkey=/