TestNG 테스트 메서드에서 예외가 throw 된 후에 실행되는 aspect가 있습니다. 내 aspectj 메서드에 Test 메서드 이름을 가져오고 싶습니다.Java에서 예외를 throw 한 메서드 이름을 얻는 방법
이 문제에 대한 의견이 있으십니까? 아래에있는 내 코드 샘플을 찾아주세요 :
측면 :
pointcut publicCall(): call(public * *(..));
after() throwing (AssertionError e): publicCall() {
logger.debug("Assertion Error thrown");
System.out.println("Threw an exception: " + e);
}
테스트 :
@Test
public void testScenarioOne(){
logger.debug("From Scenario One Test");
Assert.assertEquals(true, false);
}
감사합니다 !!! pointcut 유형을 호출에서 실행으로 변경하는 것이 트릭을 만들었습니다. (두 번째 스 니펫은 컴파일되지 않았다.) – rookie007r
내가 아는 한, 편집 된 두 번째 발췌 문장을 복사하여 붙여 넣기 만하면됩니다. 더 자세하게 얘기해 주 시겠어요? 어떤 오류 메시지가 나타 납니까? – kriegaex
pointcut testMethod()와 같이 정규화 된 패키지를 지정해야하기 때문에 오류가 발생했을 수 있습니다. execute (@ org.testng.annotations.Test * * (..)); –