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에서이 프로젝트 ('File> New> Unit'이있는 새 장치)에 새 장치를 추가하면 문제가 으로 시작됩니다.
테스트 프로젝트
는 지금 : 보시다시피uses
TestFramework,
TextTestRunner,
Sysutils,
Forms,
GUITestRunner,
DCTDSetupTests in 'IntegrationTests\DCTDSetupTests.pas',
...
MyNewUnit in 'IntegrationTests\MyNewUnit.pas';
, 시험을 xml_output가 사라졌다 ... 난 유닛을 추가 해요 때마다, 델파이 IDE는이 테스트를 삭제합니다.
왜, 어떻게 피할 수 있는지 알고 계십니까?
'XmlTestRunner2'는 단위 테스트 파일과 달리 초기화 코드를 가지고 있지 않으므로이 리스너를 uses 목록에 추가 할 수있다. 빌드 구성에 따라 나중에 호출 된 경우에만 링크됩니다. ** Marcus, 그래서 내 문제를 해결했습니다! ** 다른 상황에서는'gabr'의'proxy unit' 메소드를 적용 할 것입니다. – TridenT