Junit&testNg单元测试
- Junit单元测试常用注解
- @Test:将一个普通方法修饰成一个测试方法@Test(excepted=xx.class): xx.class表示异常类,表示测试的方法抛出此异常时,认为是正常的测试通过的
- @Test(timeout=毫秒数) :测试方法执行时间是否符合预期
- @BeforeClass: 会在所有的方法执行前被执行,static方法
- @AfterClass:会在所有的方法执行之后进行执行,static方法
- @Before:会在每一个测试方法被运行前执行一次
- @After:会在每一个测试方法运行后被执行一次
- @Ignore:所修饰的测试方法会被测试运行器忽略
- @RunWith:可以更改测试运行器org.junit.runner.Runner
- Parameters:参数化注解
- testNg常用注解
- @BeforeSuite:在该套件的所有测试都运行在注释的方法之前,仅运行一次。
- @AfterSuite:在该套件的所有测试都运行在注释方法之后,仅运行一次。
- @BeforeClass:在调用当前类的第一个测试方法之前运行,注释方法仅运行一次。
- @AfterClass:在调用当前类的第一个测试方法之后运行,注释方法仅运行一次
- @BeforeTest:注释的方法将在属于<test>标签内的类的所有测试方法运行之前运行。
- @AfterTest:注释的方法将在属于<test>标签内的类的所有测试方法运行之后运行。
- @BeforeGroups:配置方法将在之前运行组列表。此方法保证在调用属于这些组中的任何一个的第一个测试方法之前不久运行。
- @AfterGroups:此配置方法将在之后运行组列表。该方法保证在调用属于任何这些组的最后一个测试方法之后不久运行。
- @BeforeMethod:注释方法将在每个测试方法之前运行。
- @AfterMethod:注释方法将在每个测试方法之后运行。
- @DataProvider:标记一种方法来提供测试方法的数据。 注释方法必须返回一个Object [] [],其中每个Object []可以被分配给测试方法的参数列表。 要从该DataProvider接收数据的@Test方法需要使用与此注释名称相等的dataProvider名称。
- @Factory:将一个方法标记为工厂,返回TestNG将被用作测试类的对象。 该方法必须返回Object []。
- @Listeners:定义测试类上的侦听器。
- @Parameters:描述如何将参数传递给@Test方法。
- @Test:将类或方法标记为测试的一部分。testNg详情学习博客:https://www.yiibai.com/testng/basic-annotations.html
- testNg依赖测试
在TestNG中,我们使用dependOnMethods和dependsOnGroups来实现依赖测试。如果依赖方法失败,则将跳过所有后续测试方法
-
使用方法如果方法一成功就执行时方法二,是失败的话就跳过方法二:@Test public void method1() { System.out.println("This is method 1"); }
@Test(dependsOnMethods = { "method1" }) public void method2() { System.out.println("This is method 2"); }
- testNg参数化
- 使用XML传递参数,属性从testng.xml传递,并通过@Parameters @Parameters({ "dbconfig", "poolsize" })注入到该方法中。
- 通过@DataProvider传递参数