2012-07-31 6 views
0

우선이 질문은 제 1 질문이므로 stackoverflow에 오신 것을 환영합니다.
Visual Studio 2005에서 CppUnit을 사용하여 출력 * .xml 파일을 생성하는 데 어려움을 겪었습니다. F5 키 또는 Ctrl + F5 (디버깅 시작 또는 디버깅하지 않고 시작) 코드를 실행하면 보고서 파일이 생성되지 않습니다. 하지만 "수동으로"(* .exe 파일을 통해/debug) 실행하면 보고서 파일이 만들어집니다. 그 이유는 무엇일까요?"디버깅 시작 (F5 anf Ctrl + F5)"이 CppUnit * .xml 보고서 파일을 만들지 않는 이유는 무엇입니까?

testApp.cpp : 대답에 대한

#include "Test_myFuzzy.h" 

#include <cppunit/ui/text/TestRunner.h> 
#include <cppunit/XmlOutputter.h> 

int main(){ 
    CppUnit::TextUi::TestRunner runner; 

    std::ofstream ofs("tests.xml"); 
    CppUnit::XmlOutputter* xml = new CppUnit::XmlOutputter(&runner.result(),ofs); 
    xml->setStyleSheet("report.xsl"); 
    runner.setOutputter(xml); 

    runner.addTest(Test_myFuzzy::suite()); 
    runner.run(); 

    return 0; 
} 

감사합니다!

답변

0
std::ofstream ofs("tests.xml"); 

test.xml 파일을 어디에 만들어야하는지 지정하지 않았습니다. 그래서 기본적으로 그것은 exe 파일이 들어있는 동일한 폴더에 만들어 질 것입니다.

이 문제를 해결하는 한 가지 방법은 파일 "C:\test.xml"을 만들거나 찾을 위치를 지정하거나 프로젝트 폴더에서 검색을 수행하는 것입니다. 아마도 디버그 저장소에서 생성됩니다.

+0

파일'tests.xml'는'\ debug' 폴더에서 수동으로'* .exe' 파일을 실행할 때만 생성됩니다. F5 또는 Ctrl + F5 (여러 번 선택)를 사용할 때 생성되지 않습니다. 나는 이것이 실제로 프로그램을 실행한다고 생각했기 때문에'$ (SolutionDir) $ (ProjectDir) \ debug'에'tests.xml'이 있어야합니다 ... 또한 "C : \ tests.xml"을 사용할 때 생성되지 않습니다. ' – rasta