안녕하세요 generateKey 메서드 및 Dispatcher에 의해 발송되는 메시지를 테스트하고 싶습니다. 나는 클래스와 public 메소드 verifyOtherDetails()를 조롱했다. 그 안에는 dispatcher 메소드가 리터럴 값을 가졌지 만 항상 전달된다는 기대가 생겼습니다. 어떤 도움을 주시면 감사하겠습니다.개인 정적 메서드 테스트
시도해 주신 코드 감사합니다.
abstract class KeyGen {
private static void generateKey(String key, String username){
if(Strings.isNullOrEmpty(key)){
Dispatcher.dispatch(new WarningString(String.format("The key is null or empty for user %s", username)));
}else{
Dispatcher.dispatch(new InfoString(String.format("The key is correct for user %s", username)));
}
}
public void verifyOtherDetails(String address, Map<String, String> favouriteFilms){
String key ="";
String username ="";
generateKey(key, username);
}
}
public class TestKeyGen {
@Test
public void testKey() {
new MockUp<KeyGen>() {
@Mock()
public void verifyOtherDetails() {
String key = "sfjhlkjhfkjdhlsk";
final String username = "Daniel";
new Expectations() {
{
Dispatcher.dispatch(new WarningString(String.format("The key is null or empty for user %s", username)));
}
};
}
};
}
}
Google의 톱 히트를 포함하여 [SO에 대한 다른 답변 (http://stackoverflow.com/questions/34571)을 포함하여] 이미 개인적인 방법을 테스트하는 데있어 많은 자료가 있습니다. [ 이 질문의 제목] (https : // www .google.com/webhp? ion = 1 # q = 테스트 % 20a % 20private % 20Static % 20method). 그 사람들이 당신의 질문에 대답합니까? – yshavit
나는 반사의 사용을 보았지만 그 방법을 검증하는 더 깨끗한 방법이 있는지 알고 싶었다. 나는 JMockit을 처음 사용하고 객체 조롱에 대한 많은 경험이 없습니다. –