gpt4 book ai didi

java - 在 TestNG 中使用 @BeforeMethod 时有没有办法获取方法元数据?

转载 作者:IT老高 更新时间:2023-10-28 21:00:12 24 4
gpt4 key购买 nike

我正在使用 TestNG 并且有一套测试。我想在每个需要有关该方法的信息的测试方法之前执行一个操作。作为一个简单的例子,假设我想在执行之前打印方法的名称。我可以编写一个用 @BeforeMethod 注释的方法。如何将参数注入(inject)该方法?

最佳答案

看看dependency injection文档中的部分。它指出可以在这种情况下使用依赖注入(inject):

Any @BeforeMethod (and @AfterMethod) can declare a parameter of type java.lang.reflect.Method. This parameter will receive the test method that will be called once this @BeforeMethod finishes (or after the method as run for @AfterMethod).

所以基本上你只需要在你的 @BeforeMethod 中声明一个 java.lang.reflect.Method 类型的参数,你就可以访问以下名称测试名称。比如:

@BeforeMethod
protected void startTest(Method method) throws Exception {
String testName = method.getName();
System.out.println("Executing test: " + testName);
}

还有一种方法是使用 ITestNGMethod 接口(interface)( documentation ),但由于我不确定如何使用它,我就让你看看吧如果你有兴趣。

关于java - 在 TestNG 中使用 @BeforeMethod 时有没有办法获取方法元数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8477702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com