2016-09-08 12 views
0
public void publicMethod() { 
    for (i=1;i<10;i++) 
    privateMethod(); 
} 

private privateMethod() { 
    something... 
} 

privateMethod()이 호출 된 횟수를 확인하려면 JUnit 테스트 케이스를 작성해야합니다.Junit의 공용 메소드에서 개인 메소드 호출 수를 확인하는 방법은 무엇입니까?

+0

기록 : 나는 당신이 당신의 질문에 많은 것을들을 것이라고 의심합니다. 제 대답이 어느 시점에서 받아 들여질만한 가치가 있는지 고려하십시오. – GhostCat

답변

8

그렇게해서는 안됩니다. 구현 세부 사항을 확인하기위한 단위 테스트를 작성하지 마십시오.

테스트 결과 공개 메소드가 계약을 충족시키는 지 확인하십시오. 그래서 당신은 반환 된 것들이 예상대로 있다고 주장합니다; 또는 다른 메소드에 대한 후속 호출이 원하는 출력을 제공하는지 확인하십시오. 아니면 특정 예외를 throw하도록 호출합니다. 또는 세 번째 옵션 : 을 조롱 한 개체를 주입했습니다. 나중에 을 확인하십시오. mock이 메소드가 사용자에게 지정한 메소드를 호출 한 것을 확인합니다.

그러나 개인적 방법을 구체적으로 테스트하기 위해 테스트 사례를 작성하는 것은 정말 나쁜 습관입니다!

+0

이 허용 된 답변이어야합니다. private 메소드는 클래스가 사용자에게 제공하는 것이 아니라 그것이 제공하는 것을 구현하는 방식입니다. –

+0

아 무슨 부끄러움 :) –

+0

당신이 그것을 얻을 수 있기를 바랍니다, 언젠가 아프 어른이 자랄만큼 좋은가 –