滑县做网站公司,dede响应式网站模板,做网站续费,株洲网站建设的企业目录
那么#xff0c;这个带BeforeClass注释的方法什么时候执行呢#xff1f;
如果我们在一个类中放置多个BeforeClass注释方法会发生什么#xff1f; 在这篇文章中#xff0c;我们将讨论TestNG中的BeforeClass注释。BeforeClass注释方法将在特定类的测试用例之前运行。…目录
那么这个带BeforeClass注释的方法什么时候执行呢
如果我们在一个类中放置多个BeforeClass注释方法会发生什么 在这篇文章中我们将讨论TestNG中的BeforeClass注释。BeforeClass注释方法将在特定类的测试用例之前运行。
那么这个带BeforeClass注释的方法什么时候执行呢
下面的XML将有助于理解执行点。
suite namecodekrutest namecodekru !-- BeforeTest will execute here --classesclass nameTest.CodekruTestFirst / !-- BeforeClass for CodekruTestFirst will execute here --class nameTest.CodekruTestSecond / !-- BeforeClass for CodekruTestSecond will execute here --/classes/test
/suite
我们可以在一个测试中有多个BeforeClass注释的方法就像我们可以在一个测试中有不同的类一样如上面在XML文件中所示每个类都可以有自己的BeforeClass注释方法。
让我们看看一些行动的东西。我的意思是代码
我们将采用两个类CodekruTestFirst和CodekruTestSecond每个类都有自己的BeforeClass注释方法。
CodekruTestFirst.java
package Test;import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;public class CodekruTestFirst {BeforeClasspublic void beforeClass() {System.out.println(beforeClass method in CodekruTestFirst class);}Testpublic void test() {System.out.println(Executing the test in CodekruTestFirst class);Assert.assertTrue(true);}}
CodekruTestSecond.java
package Test;import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;public class CodekruTestSecond {BeforeClasspublic void beforeClass() {System.out.println(beforeClass method in CodekruTestSecond class);}Testpublic void test() {System.out.println(Executing the test in CodekruTestSecond class);Assert.assertTrue(true);}}
现在我们将运行下面的XML文件看看会发生什么。
!DOCTYPE suite SYSTEM https://testng.org/testng-1.0.dtd suite namecodekrutest namecodekruclassesclass nameTest.CodekruTestFirst / !-- BeforeClass for CodekruTestFirst will execute here --class nameTest.CodekruTestSecond / !-- BeforeClass for CodekruTestSecond will execute here --/classes/test
/suite
产出-
beforeClass method in CodekruTestFirst class
Executing the test in CodekruTestFirst class
beforeClass method in CodekruTestSecond class
Executing the test in CodekruTestSecond class
codekru
Total tests run: 2, Failures: 0, Skips: 0这里发生了什么默认情况下TestNG将按照XML文件中的顺序运行我们的测试。因此它首先获取CodekruTestFirst类然后运行它的BeforeClass注释方法然后运行它的测试用例。在那之后它得到了CodekruTestSecond类所以TestNG首先运行了它的BeforeClass注释方法然后运行了它的测试用例。
如果我们在一个类中放置多个BeforeClass注释方法会发生什么
如果我们在一个类中放置多个BeforeClass带注释的方法那么所有带注释的方法都会被执行。您可以尝试在CodekruTestFirst类中再添加一个带注释的方法然后重新运行XML。