2012-03-02 75 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