我有一个场景,我需要在 @Test 方法内生成关键的第一行。我需要提供通用的解决方案来实现这一目标。我们已经有了生成 token 的自定义类文件,并且应该在 @Test 方法内生成它。
到目前为止,我们在所有 @Test 方法中都有以下代码行。它似乎是重复的,想对此提供一些通用的解决方案。我们想创建一个监听器,一旦 @Test 方法进展,它将执行,并且在执行该方法中实际存在的第一行代码之前。
这是代码:
@Test
public void getSearchMach()
{
//The AutoKeyGenerator is a class which has getKey() method and return
//type as String
String getkey=AutoKeyGenerator.getKey();
//Some logic will go here.
}
以上行应放在所有测试方法的第一行。我不想到处重复并创建一个监听器,它将以智能方式执行相同的 Activity 。就像监听器将执行该行,然后执行剩余的行。我已经使用过 @BeforeMethod、@BeforeClass 和 @BeforeSuite,它们不起作用并返回 null 作为字符串值。
最佳答案
我们可以在类中将变量声明为静态。这是代码片段:
public class Testing {
static String getKey;
@BeforeTest
public void set() {
getKey = getKeyNow();
}
private String getKeyNow() {
// Do Something
return "Hi There";
}
@Test
public void test1() {
System.out.println(getKey);
assertEquals(1, 1);
}
}
请告诉我这是否可以解决问题。
关于java - 自定义监听器始终在 TestNG 中的 @Test 注释内执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48740956/