2017-11-24 27 views
-1

TestNG 테스트를 수신하고 모든 테스트 메소드에 대해 테스트 메소드가 실행을 시작하기 직전에 특정 작업을 수행하는 모듈을 빌드하고 있습니다. 테스트 (메서드)가 실행될 때, 메서드 이름 및 선택적으로 테스트 클래스의 이름을 알고 싶을뿐입니다.@Test로 주석 된 메소드와 일치하는 AspectJ pointcut

testNG의 호출자 호출에 대해 pointcut를 작성할 수있었습니다. 그것은 효과가 있었다.

@Pointcut("execution(* org.testng.internal.IInvoker.invokeTestMethods(..))") 

대신에, 나는 @org.testng.annotations.Test 주석 모든 테스트 방법의 실행 joinpoint를 잡을 수있는 포인트 컷을 쓸 수있는 방법, 모든 테스트 방법은 @org.testng.annotations.Test의 주석을 붙일으로 궁금 해서요? 여기

내가 몇 가지 포인트 컷을 시도

@BeforeClass 
    public void setup() { 
     //setup logic 
    } 
    @BeforeMethod 
    private void configure() { 
     //config logic 
    } 

    @Test 
    public void testLoad() { 
    //test 
    } 

    @Test 
    public void testForm() { 
    //test 
    } 

처럼 내 시험을 보는 방법으로, 그들은 잘못된 사람으로 밝혀졌다. 참고 : 로딩 시간 짜기를 사용하고 있습니다.

답변

0

"execution(* *(..)) && @annotation(org.testng.annotations.Test)" 
시도