AspectJ切入点匹配使用@Test注释的方法

问题描述 投票:0回答:1

我正在构建一个模块,它监听TestNG测试并在测试方法开始执行之前为每个测试方法执行某些操作。我只是想知道测试(方法)何时开始执行,方法名称和测试类的可选名称。

我成功地为testNG的调用者调用编写了切入点。有效。

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

相反,我想知道每个测试方法都使用@org.testng.annotations.Test进行注释,我如何编写切入点以捕获使用@org.testng.annotations.Test注释的每个测试方法的执行joinPoint?

这是我的测试的样子

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

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

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

我尝试了几个切入点,结果证明它们是无效的。注意:我正在使用加载时间编织。

java testng aop aspectj spring-aop
1个回答
2
投票

试试这个

"execution(* *(..)) && @annotation(org.testng.annotations.Test)"
© www.soinside.com 2019 - 2024. All rights reserved.