코드 범위를 검토하면서 많은 유닛 테스트가 finally 블록에서 열려있는 InputStream을 닫으려고 시도하는 블록을 확인하지 못했습니다.유닛 테스트가 Java 6에서 최종 블록으로 테스트되었습니다.
한 예 발췌은 다음과 같습니다
try {
f = new BufferedInputStream(new FileInputStream(source));
f.read(buffer);
} finally {
if (f != null)
try {
f.close();
} catch (IOException ignored) {
}
}
}
최종적으로 JUnit4를 사용하여 블록 내에서 모든 것을 확인하는 적절한 솔루션이 있습니까?
나는 최대의 생산성을 염두에두고 100 %의 코드 적용 범위를 달성 할 수 없다는 것을 알고 있습니다. 그러나이 빨간 선은 보고서에서 일종의 안경점입니다.
동의합니다. 테스트에서 메소드를 오버라이드하는 옵션이 매우 유용하지만, 종종 컴포지션을 선택하는 중간 단계입니다. C#은 그 점에서 PITA입니다. 메서드가 기본적으로 가상이 아니므로 전체적인 방법으로 점프해야한다는 것을 알게되었습니다 (가능한 한 가장 작은 변경으로 작업하기를 원할 때 귀찮습니다). –
정확히 내가 뭘 찾고 있었는지 고마워요 :) 감사합니다 또한 제프 – fyr