2017-03-14 7 views
0

Eclipse에서 C++ 코드의 단위 테스트를 실행하려고합니다. 내 Eclipse는 Mars.2 Release (4.5.2)입니다. 원래 자바 개발자 버전을 다운로드했지만 C/C++ 플러그인을 설치했습니다. 나는 간단한 클래스를 작성한 다음 그 클래스에 대한 부스트 유닛 테스트를 작성했다. 실행 파일을 얻으려면 Eclipse와 명령 줄에서 코드를 컴파일 할 수 있습니다. 명령 줄에서 실행 파일을 실행하면이 출력이 표시됩니다.Eclipse에서 Boost 테스트 러너가 올바른 XML을 생성하지 못했습니다.

Running 1 test case...

*** No errors detected

지금까지는 그렇게 좋았습니다.

이제 Eclipse에서 실행하려고하면 오류가 발생합니다. 처음에는 내 테스트가 전혀 실행되지 않는 것으로 보였습니다. "C/C++ Unit"탭에서 화면 오른쪽에 빨간색 막대가 표시되고 개별 테스트 결과를 볼 수있는 정보가없고 "XML 구문 분석 오류 : 조기 끝"이라는 작은 텍스트가 있습니다 탭의 바로 아래에. 디버거에서 멈추어 서 나는 내가 known bug의 희생자라는 것을 알 수있었습니다. 기본적으로 Eclipse와 boost testrunner 사이에는 몇 가지 비 호환성이 있습니다. 여기서 하나는 XML을 지정하고 다른 하나는 xml (다른 경우)을 지정하는 것입니다. 난 여전히 문제가있는 장소에두고

As a workaround you can add following arguments in the unittests' run configuration:

--output_format=XML --log_level=all --report_level=no --

Eclipse's test runner appends it's arguments to these. Arguments after -- are passed on to your test script and ignored by Boost.Test.

하지만, 문제는 디버깅 여부와 실행 여부에 따라 다르다 : 그 링크의 버그에 대한 논의에서 언급이 주위에 작업을 시도했다. 디버깅을하지 않으면 위의 결과와 같습니다. 디버깅을 통해 필자는 "C/C++ Unit"탭의 왼쪽에있는 테스트에 대한 정보를 얻었지만 여전히 오류를 나타내는 빨간색 막대가 나타납니다. 이 경우 작은 텍스트에는 "XML 구문 분석 오류 : 꼬리 부분에서 내용을 사용할 수 없습니다."라고 표시됩니다.

위의 버그는 지난 2 월과 마찬가지로 최근 활동이 있지만 약 2 년 전인 것으로 보입니다. 주위에 다른 일이있을 것 같습니까? 커뮤니티가 개입 2 년 만에 테스트를 진행 한 것 같습니다.

도움말 -> 업데이트 확인을 통해 Eclipse를 업데이트 해 보았습니다. 그건 내 상황을 개선하지 못했습니다. 나는 다른 정보가 도움이 될 수 있다고 생각하지만, 무엇을 제공해야할지 모르겠습니다. 내가 할 수있는 경우 의견을보고 업데이트 할 것입니다.

답변

0

필자는 필자가 Eclipse의 Neon.2 릴리스로 업그레이드했다. 내 질문에 설명 된 것처럼 기본 버그가 여전히 존재하지만 해결 방법은 해당 릴리스에서 작동합니다. 특히 여러 개발 언어를 지원 - - 혼전의 비트는이뿐만 아니라 업그레이드 이후 화성에서 일 경우

As a workaround you can add following arguments in the unittests' run configuration:

--output_format=XML --log_level=all --report_level=no --

Eclipse's test runner appends it's arguments to these. Arguments after -- are passed on to your test script and ignored by Boost.Test.

이 좋았을까요 않지만 적어도 나는 이동할 수 있습니다 완전성에 대한 질문에서 그 아래로 복사 에. 어쨌든 어떤 시점에서 업그레이드해야했을 것입니다.