2014-07-25 2 views
2

내 응용 프로그램에 대해 몇 가지 JUnits를 작성하려고하는데 약 80 %의 코드 커버리지가 있다고 생각하지만 테스트를 실행하면 다음과 같이 표시됩니다.코드 테스트를 실시하고 코드 커버리지를 유지하면서 예외를 예상하는 방법

code coverage

것은이 나에게 생각이 아니다 52 %의 코드 커버리지 결과를주고있다.

내 취재 점수를 유지하기 위해 예외가 예상되는 방법을 쓰는 다른 방법이 있습니까?

감사합니다.

+0

가능한 중복 http://stackoverflow.com에 대해 별도의 폴더가있는 경우에 할 일이 많이 쉬워/question/156503/what-do-you-assert-that-a-certain-exception-in-junit-4-tests) – DavidPostill

+0

try 블록의 끝에 JUnit에서 fail()을 사용하고 모든 당신이 감시하고있는 것을 제외하고 블록을 잡아라. – webuster

+2

왜 테스트 클래스의 커버리지를 측정하고 싶습니까? 정규 수업에 집중해야합니다. –

답변

1

코드 범위에 대해 걱정하지 마십시오.은 테스트 코드가 아닌 소스 코드의 코드 범위만을 테스트합니다.

emma 또는 jaCoCo를 사용하는 경우 필터를 사용하여 특정 클래스 나 디렉토리의 결과 만 계측하거나보고 할 수 있습니다.

이것은 당신이 srctest

[당신이 특정 예외가 JUnit 4 개에서는 테스트에서 발생되는 것을 어떻게 주장합니까?] (의
0

아마도 코드 적용 범위를 측정하기 위해 Eclipse EMMA 플러그인을 사용하고있을 것입니다. 여기에 설명 된대로 http://emma.sourceforge.net/faq.html#q.blockcoverage Emma는 블록 (라인이 아님) 범위를 측정하므로 코드 끝 부분에 도달하지 못하여 블록이 덮히 지 않는 지점에서 예외가 발생하면 예외가 발생합니다. EMMA 자주 묻는 질문은 말한다 :

블록이 어떤 점프하지 않고 바이트 코드, 일련의 지시 명령 또는 목표를 점프.

A는 커버 (이 전혀 입력 된 경우) 즉, ( 예외의 부재하는지에 ) 염기성 블록 항상 기본 블록 따라서 하나 개의 원자 단위로 실행 주어진 커버리지 실행 세션에서 적어도 한 번 이상 실패없이 실행되도록 보장됩니다.



한 가지 더.
테스트 클래스의 적용 범위를 보지 말고 비즈니스 (일반) 수준에 집중해야합니다.

관련 문제