추상 클래스의 구체적인 방법에 반영되는 cobertura 분기 적용 문제를 해결하려면 어떻게해야합니까?추상 클래스 인 Java 수퍼 클래스에서 분기 적용
아래 코드에서 Currency 추상 클래스의 equals 메소드에는 (getClass()! = obj.getClass()) 조건 뒤에 오는 변수 SID 및 Ab가 있는지 확인하는 부분이 들어 있습니다. 이 부분은
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
if (getClass() != obj.getClass())
return false;
final Currency other = (Currency) obj;
if (this.getAb() == null) {
if (other.Ab() != null)
return false;
} else if (!this.getAb().equals(other.getAb()))
return false;
if (this.getSID() < 1 || (this.getSID() != other.getSID()))
return false;
return true;
}
나는 아래의 방법을 사용하여 테스트 클래스에서 이러한 변수를 충당하기 위해 노력 덮여 결코 극복하지만 여전히 적용되지 않습니다
테스트 클래스 :
Currency currency = new Currency() {
@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
};
Currency currency1 = new Currency() {
@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
};
currency.setAb("SE3421");
currency1.setAb("SE3421");
assertFalse(currency.equals(currency1));
assertTrue((currency1.getAb()).equals(currency.getAb()));
어떤 도움을 주셔서 감사합니다.
이 계약서는 수퍼 클래스의 equals (일반) 구현을 검토 할 수 있습니다 ... –
Will mockito help 이 상황에서 또는 테스트 클래스 안에 작성된 통화 구현 내에서 hashcode 메소드를 재정 의하여 수행 할 수 있습니까? – snlx