📅  最后修改于: 2021-01-11 12:00:23             🧑  作者: Mango
在自动化测试用例时,您有一个要求,希望您首先删除提交的数据。例如,当您运行测试用例时,您将在表格中填写详细信息,并将数据保存在数据库中。当您再次运行测试用例时,您将收到一条错误消息“数据已存在”。
@BeforeTest: @BeforeTest注释下的方法将在属于该文件夹的任何测试之前首先执行。
让我们通过一个例子来理解。
第一种情况:将@BeforeTest带注释的方法放在开头时。
步骤1:打开Eclipse。
步骤2:我们创建两个Java项目,即it_department.java和hr_department.java。
it_department.java
package com.javatpoint;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class it_department
{
@BeforeTest // annotated method placed in the beginning.
public void before_test()
{
System.out.println("It will be executed first");
}
@Test
public void software_developers()
{
System.out.println("Software Developers");
}
@Test
public void software_testers()
{
System.out.println("Software Testers");
}
@Test
public void qa_analyst()
{
System.out.println("QA Analyst");
}}
在上面的代码中,在@BeforeTest注释下放置了一个方法,该方法将在it_department中所有可用的测试方法之前首先执行。
hr_department.java
package com.javatpoint;
import org.testng.annotations.Test;
public class hr_department
{
@Test
public void manager()
{
System.out.println("Manager");
}
@Test
public void hr()
{
System.out.println("HR");
}
@Test
public void counsellor()
{
System.out.println("Counsellor");
}
}
步骤3:创建testng.xml文件。 testng.xml文件
步骤4:运行testng.xml文件。右键单击testng.xml ,然后将光标向下移动到Run As ,然后单击1 TestNG Suite 。
输出量
上面的输出显示@BeforeTest批注中的方法首先在it_department的所有测试用例之前执行。
第二种情况:将@BeforeTest带注释的方法放在最后。
源代码
package com.javatpoint;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.Test;
public class it_department
{
@Test
public void software_developers()
{
System.out.println("Software Developers");
}
@Test
public void software_testers()
{
System.out.println("Software Testers");
}
@Test
public void qa_analyst()
{
System.out.println("QA Analyst");
}
@BeforeTest
public void before_test() // annotated method placed at the end.
{
System.out.println("It will be executed first");
}
}
在上面的代码中,我们将@BeforeTest注释方法放在最后。
输出量
在上面的输出中,我们得出结论,首先执行@BeforeTest注释方法,因此,得出结论,将@BeforeTest注释方法放置在任何位置,它将首先执行。