我试图知道在@Test(测试方法)之后,调用了@AfterClass。所以要知道我写了以下代码来做到这一点:
@AfterClass(alwaysRun = true)
public synchronized void tearDownClass(final ITestNGMethod itx) {
final Method m = itx.getConstructorOrMethod().getMethod();
System.out.println(m.getName());
}
但testNG会抛出以下错误: 方法tearDownClass需要1个参数,但@Configuration注释中提供了0。
所以我的问题是如何解决上述问题,或者是否有其他方法来实现这一目标。
提前致谢。
答案 0 :(得分:2)
这没有意义:它是一个@AfterClass
方法,在类的所有测试方法运行后调用。您的特定场景(想要知道调用的最后一个方法)非常具体,因此您应该自己实现它。
例如,您可以创建一个字段lastMethod
,并让每个方法都使用其名称对其进行设置,这样当您到达@AfterClass
时,您知道哪一个最后运行。
答案 1 :(得分:0)
它无法正常工作,因为def draw_rectangle(t, w):
# however you do this
...
def draw_rectangle(t, w):
# however you do this
...
def Draw_USAFlag(t, w):
draw_rectangle(t, w)
draw_stripes(t, w)
代表一种方法,而一个类可以有很多方法。
您可以注入ITestNGMethod
,并在其中查找您的方法。