我試圖在一個1000萬的LOC項目上執行一些基本的自動化測試,這些測試不遵循良好的面向對象的實踐(例如:將業務邏輯分爲類/單元)和Delphi 2010一起使用的DUnit。我無法做到所有發票邏輯相關單位都集中:在這個項目上,因爲業務邏輯的每個部分橫跨幾十個相互依存的單位蔓延正常的單元測試,這些單位的「羣體」,然而,圍繞特定的主要業務邏輯屏幕'(前中心主發票屏幕上),由於這些屏幕是類我可以做的主要業務邏輯屏類測試「,而不是單元測試,但這些「主屏幕」還需要很多的是在進程啓動時創建的東西。在delphi中訪問其他.exe數據的最簡單方法是什麼?
所以我需要兩個:
- 能夠運行的不良項目的啓動東西
- 能夠訪問其對象
壞項目已經具備了一定的導出函數返回指針,我可以投來訪問它的對象,但我不能給他們打電話兩種方式:
如果我創建壞項目作爲測試PR的子進程啓動代碼運行良好,但是我找不到一種方法來在沒有複雜的IPC方法的情況下調用導出的函數,或者對不良項目的結構進行重大改變。
如果我加載壞項目的.exe作爲一個DLL與LoadLibrary函數,調用由不良項目的結果在訪問衝突和/或段錯誤的錯誤,即使這個簡單的程序導出的任何功能:
procedure Test; {safecall;} {stdcall;}
begin
showmessage('Yay!');
end;
我怎樣才能做到這一點?
如果您不能編寫代碼在被測程序中運行,那麼您需要IPC。 –