当前位置: 首页 > 知识库问答 >
问题:

匹配用@Test注释的方法

党源
2023-03-14

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

我成功地为testNG的调用程序调用编写了切入点。它成功了。

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

相反,我想知道的是,每个测试方法都用org注释。测试NG。注释。Test,我如何编写切入点来捕捉用org注释的每个测试方法的执行连接点。测试NG。注释。测试?

这是我的测试结果

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

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

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

我试过几个切入点,结果都是无效的。注意:我使用的是加载时编织。

共有1个答案

卫高明
2023-03-14

试试这个

"execution(* *(..)) && @annotation(org.testng.annotations.Test)"
 类似资料:
  • 无法用[class java.lang.String]注入@test注释方法[launchB]. 下面是代码:

  • 问题内容: 如果满足以下条件,则需要创建一个与方法匹配的切入点的方面: 它用MyAnnotationForMethod注释 它的参数之一(可以有多个)用@MyAnnotationForParam注释(但也可以具有其他注释)。 方面类看起来像这样 注释方法 随着日食->警告:在poincut: 使用http://download.eclipse.org/tools/ajdt/35/update中的最

  • 我有一个类和一个注释 我想写一个 aspectj 切入点,它将捕获所有具有 value=true 的注释方法注释的方法。我该怎么做?

  • 假设我有一个注释,如下所示: 然后在Aspect中,我怎么可能想写两个切入点,一个用于所有用@DB操作(isRead操作=true)注释的方法,一个用于@DB操作(isRead操作=false)?

  • 我正在尝试将下面的文本与ANTLR语法匹配: ANTLR语法是: 我得到的错误是: 我猜语法是合理的,但为什么会出现错误呢? null 要匹配的文档: 语法1: 在语法1中,跳过了T1,但不跳过T2中的T1部分。T2将在lexer阶段匹配输入文本。(即使我们把T2放在T1之后,T2还是会匹配的。我认为ANTLR为了最长的令牌做了一些贪婪的匹配。) 因此,正如@macmoonshine所说,我确实必

  • 问题内容: 我有以下测试: 但是JUnit报告说,测试失败了,尽管它按预期方式抛出。 我是否需要配置其他东西才能运行此程序? 我现在用 当我删除前缀时,仍然出现错误。 我得说我是在Eclipse上运行这些测试,但它配置为使用JUnit 4 Runner。 问题答案: 问题是,嵌套测试的类是的扩展。由于这是JUnit 3样式,因此注释不起作用。 现在,我的测试班是一个单独的班。