我有一個使用DUnit框架的應用程序的單元測試項目。 這個項目的一個單元被一個$IFDEF
包圍,以便在xml文件中輸出測試結果,而不是gui或命令行。通過切換生成配置來啓用XML_OUTPUT定義。爲什麼「使用單位」在我擁有一個新單位時消失?
program DelphiCodeToDoc_Tests;
uses
TestFramework,
TextTestRunner,
Sysutils,
Forms,
GUITestRunner,
{$IFDEF XML_OUTPUT}
XmlTestRunner2 in 'DUnit_addon\XmlTestRunner2.pas',
{$ENDIF}
DCTDSetupTests in 'IntegrationTests\DCTDSetupTests.pas',
...
這個效果很好。 當我從IDE(具有'文件>新建>單元'的新單元)向此項目添加新單元時,此問題開始。
測試項目現在是:
uses
TestFramework,
TextTestRunner,
Sysutils,
Forms,
GUITestRunner,
DCTDSetupTests in 'IntegrationTests\DCTDSetupTests.pas',
...
MyNewUnit in 'IntegrationTests\MyNewUnit.pas';
正如你看到的,測試XML_OUTPUT已經消失了......每次我加入一個單元,德爾福IDE刪除此測試。
你知道我爲什麼以及如何避免它嗎?
因爲'XmlTestRunner2'沒有任何初始化代碼而不是單元測試文件,所以我可以肯定地將這個監聽器添加到使用列表中。只有稍後調用纔會鏈接,具體取決於構建配置。 ** So Marcus,所以解決了我的問題!** 在其他情況下,我會應用'gabr'中的'proxy unit'方法。 – TridenT 2010-04-01 09:11:34