码迷,mamicode.com
首页 > 其他好文 > 详细

testNG 使用功能详解

时间:2018-11-26 11:48:34      阅读:571      评论:0      收藏:0      [点我收藏+]

标签:定义   顺序   需要   分享   例子   ida   input   案例   image   

TestSuite处理测试用例有6个规约(否则会被拒绝执行测试)
A 测试用例必须是公有类(Public)
B 测试用例必须继承与TestCase类
C 测试用例的测试方法必须是公有的( Public )
D 测试用例的测试方法必须被声明为Void
E 测试用例中测试方法的前置名词必须是test
F 测试用例中测试方法误任何传递参数


执行TestNg有几种方式:命令行、Eclipse/IntelliJ、ant等.
第一种: 直接执行,右键要执行的方法,点Run As ->TestNG Test
第二种: 通过testng.xml文件来执行. 把要执行的case, 放入testng.xml文件中。 右键点击testng.xml,   点Run As->TestNG Suite testng.xml内容:

编译MessageUtil的测试用例类使用javac。

C:\TestNG_WORKSPACE>javac MessageUtil.java IgnoreTest.java
现在,运行testng.xml,将无法运行testPrintMessage()定义的测试用例在测试案例类。

C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml


TestNG忽略测试
如果测试用例写入到测试方法/代码将无法运行,在这种情况下,@Test(enabled = false)有助于禁用此测试案例。
测试方法是标注了@Test(enabled = false),那么并不是已经准备好测试的测试用例是绕过。


TestNG依赖测试
有时候,你可能需要在一个特定的顺序调用方法在测试案例,或你想分享一些数据和方法之间的状态。TestNG支持这种依赖测试方法之间的显式依赖它支持声明。
TestNG允许指定依赖,无论与否:
使用属性dependsOnMethods在 @Test 注释OR
使用属性dependsOnGroups在@Test注解。

 

下面的例子是偶数EvenNumber的检查,方法如下

 

public class EvenNumberChecker {

    public Boolean validate(final Integer primeNumber) {

            if (primeNumber % 2 == 0) {
                return false;      }
                else
        return true;
    }
}

 

 

public class Test20181123 {

    private EvenNumberChecker evenNumberChecker;

    @BeforeMethod
    public void initialize() {
        evenNumberChecker = new EvenNumberChecker();
    }


    @DataProvider(name = "test1")
    public static Object[][] primeNumbers() {
        return new Object[][] { { 2, true }, { 3, true },{ 4, false } };
    }    // This test will run 4 times since we have 5 parameters defined



    @Test(dataProvider = "test1")
    public void testPrimeNumberChecker(Integer inputNumber,Boolean expectedResult) {
        System.out.println(inputNumber + " " + expectedResult);
        Boolean result =evenNumberChecker.validate(inputNumber);
        Assert.assertEquals(expectedResult,result);
    }
}

  

 

 


TestNG参数化测试
场景:业务逻辑需要一个巨大的不同数量的测试。参数测试,允许开发人员运行同样的测试,一遍又一遍使用不同的值。
TestNG让你直接传递参数测试方法两种不同的方式:
使用testng.xml
数据提供程序
传递参数使用testng.xml
有了这种技术,在testng.xml文件中定义的简单参数,然后在源文件中引用这些参数。让我们看看下面的例子中如何使用这种技术来传递参数。

 

技术分享图片

 

testNG 使用功能详解

标签:定义   顺序   需要   分享   例子   ida   input   案例   image   

原文地址:https://www.cnblogs.com/qianjinyan/p/10019364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!