내 JUnit 테스트 케이스에서 EclEmma를 실행하여 일부 테스트에서 100 %에 도달했습니다. 그러나 82 % 또는 95 % 덮여있는 코드에는 "2 개의 분기 중 1 개를 놓친 것"이라는 메시지가 표시되며이 문제를 해결할 수 없습니다.JUnit 테스트 : 분기가 누락되지 않은 문을 테스트하는 방법?
수업을 살펴본 결과,이 메시지는 if-statement 옆에만 나타 났고, 이것이 내 테스트를 100 % 덮지 못하게합니다.
JUnit에서 if 문을 테스트하는 방법을 아는 사람이 있는지 묻는 것 같아서 분기를 놓치지 마십시오.
private double height;
public void setHeight(double height){
if(height <=0){
this.height = 0;
}
else{
this.height = height;
}
}//method close
(내가 사용의 JUnit 4) 단일
'setHeight'를 음수, 양수 및 어쩌면 0으로 호출하십시오. 실제로 정확히 무엇을 요구하고 있습니까? ? – Seelenvirtuose
따라서, 높이가 0보다 큰지 테스트하고 높이가 0보다 큰지 테스트하십시오. 두 가지를 모두 포함합니다. –
btw : ==와 double을 비교하는 것이 Java (및 다른 언어)에서는 안전하지 않습니다. http://stackoverflow.com/questions/25160375/comparing-double-values-for-equality-in-java – Rainer