테스트에서 예외가 throw 될 때마다 사용자 지정 메서드를 호출 할 수 있습니다. 즉 여러 테스트 (@Test 주석이 있음)가 있고 예외 (예 : junit 등의 사용자 지정 메시지 작성)를 처리하는 하나의 메서드 만 작성하려고합니다. (모든 테스트를 위해 try/catch 블록이 아닌 것을 찾고 있습니다)테스트에서 예외를받을 때 사용자 지정 메서드 호출
감사합니다.
테스트에서 예외가 throw 될 때마다 사용자 지정 메서드를 호출 할 수 있습니다. 즉 여러 테스트 (@Test 주석이 있음)가 있고 예외 (예 : junit 등의 사용자 지정 메시지 작성)를 처리하는 하나의 메서드 만 작성하려고합니다. (모든 테스트를 위해 try/catch 블록이 아닌 것을 찾고 있습니다)테스트에서 예외를받을 때 사용자 지정 메서드 호출
감사합니다.
JUnit을 TestRule
의 많은이 등을 이용하여 보시기 바랍니다 :
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
public class TestWatcherExample {
@Rule
public MyTestWatcher myTestWatcher = new MyTestWatcher();
@Test
public void testName() throws Exception {
System.out.println("hello");
throw new Exception("ooops, something bad just happened");
}
public static class MyTestWatcher extends TestWatcher {
@Override
protected void failed(Throwable e, Description description) {
super.failed(e, description);
// Just doing my special stuff here
System.out.println("test faild with this message " + e.getMessage());
}
}
}
당신은 시험에 대한 추가 정보가 필요한 경우 규칙은 여기에서 읽습니다 : https://github.com/junit-team/junit/wiki/Rules
개봉 된 스프링을 사용하는 경우, 어쩌면 당신은 예외 처리기 고려할 수
http://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc
나는 봄을 사용하지 않으므로 이것은 부적절하다 : ( – dlivshen
언제나 catch 블록에서이 메소드를 호출 할 수 있지만, 이것을 uni에서 정확히 사용하는 것은 무엇입니까? 테스트? – Stultuske
@After 메서드를 사용하여 사용자 지정 논리를 실행하는 방법은 어떻습니까? – shlomi33
shlomi33 - 이것은 내 첫번째 생각이었습니다. 그러나 예외가 발생하면 @After 메서드에서 어디에서 찾을 수 있는지 어떻게 알 수 있습니까? Stultuske- 이 사용 이유는 JUnit이 기본적으로 보내는 정보 중 일부를 추상화하여 사용자가 이해하고 디버그하기 쉽게하기 위해서입니다. – dlivshen