DUnitフレームワークを使用したアプリケーションの単体テストプロジェクトがあります。$IFDEF
このプロジェクトには、GUIまたはコマンドラインの代わりにxmlファイルでテスト結果を出力するためにで囲まれたユニットがあります。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が消えました...ユニットを追加するたびに、DelphiIDEはこのテストを削除します。
なぜそしてどうやってそれを避けることができるか知っていますか?