参考文档:http://blog.csdn.net/u011138533/article/details/52174446, http://www.cnblogs.com/TankXiao/p/3888070.html#introduce
自己的例子:
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
/**
* Created by ASUS on 2016/12/5.
*/
public class TEST {
@DataProvider(name="user")
public Object[][] Users(){
return new Object[][]{
{"sf","sff"},{"ykk","ykk"},{"jyh","jyh"},{"12","22"}
};
}
@Test(dataProvider = "user")
public void method1(String dd, String ff){
if(dd.length()<3){
System.out.println("**********method2*********");
}
if(dd.length()<0){
System.out.println("**********method2*********");
}
}
@BeforeClass
public void method2(){
System.out.println("**********method2******** *");
}
@Test(dataProvider = "user")
public void method3(String username, String paw){
TEST1 t1 = new TEST1();
t1.setName(username);
t1.toString();
}
}
对应的xml文档:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Default Suite">
<test name="testNG" verbose="10">
<classes>
<class name="TEST">
<methods>
<include name="method3" />
</methods>
</class>
</classes>
</test> <!-- testNG -->
</suite> <!-- Default Suite -->
对应的结果:
[TestRunner] Running the tests in 'testNG' with parallel mode:false
[RunInfo] Adding method selector: org.testng.internal.XmlMethodSelector@51e2adc7 priority: 10(详细程度:10)
[TestClass] Creating TestClass for [ClassImpl class=TEST]
[TestClass] Adding method TEST.method1(java.lang.String, java.lang.String)[pri:0, instance:null] on TestClass class TEST
[TestClass] Adding method TEST.method3(java.lang.String, java.lang.String)[pri:0, instance:null] on TestClass class TEST
[XmlMethodSelector] Including method method2()
[XmlMethodSelector] Excluding method method1()
[XmlMethodSelector] Including method method3()
[TestNG] Running:
E:\workspace\testNG\test-1\src\test\resource\TEST.xml
10:49:27.257 [main] INFO test - Started Suite [Default Suite]
[SuiteRunner] Created 1 TestRunners
[TestRunner] Running test testNG on 1 classes, included groups:[] excluded groups:[]
===== Test class
TEST
@BeforeClass TEST.method2()[pri:0, instance:TEST@8646db9]
@Test TEST.method1(java.lang.String, java.lang.String)[pri:0, instance:TEST@8646db9]
@Test TEST.method3(java.lang.String, java.lang.String)[pri:0, instance:TEST@8646db9]
======
[Invoker 246550802] Keeping method TEST.method2()[pri:0, instance:TEST@8646db9] for class [TestClass name=class TEST]
[Invoker 246550802] Invoking @BeforeClass TEST.method2()[pri:0, instance:TEST@8646db9]
**********method2******** *
10:49:27.344 [main] INFO test - > Running [TEST.method3]
[Invoker 246550802] Invoking TEST.method3
跳了一段代码
10:49:27.347 [main] INFO test - > Running [TEST.method3]
[Invoker 246550802] Invoking TEST.method3
跳了一段代码
10:49:27.349 [main] INFO test - > Running [TEST.method3]
[Invoker 246550802] Invoking TEST.method3
跳了一段代码
10:49:27.356 [main] INFO test - > Running [TEST.method3]
[Invoker 246550802] Invoking TEST.method3
跳了一段代码
===== Invoked methods
TEST.method2()[pri:0, instance:TEST@8646db9] 140799417
TEST.method3(java.lang.String, java.lang.String)[pri:0, instance:TEST@8646db9]sf sff 140799417
TEST.method3(java.lang.String, java.lang.String)[pri:0, instance:TEST@8646db9]ykk ykk 140799417
TEST.method3(java.lang.String, java.lang.String)[pri:0, instance:TEST@8646db9]jyh jyh 140799417
TEST.method3(java.lang.String, java.lang.String)[pri:0, instance:TEST@8646db9]12 22 140799417
=====10:49:27.361 [main] INFO test - Finished Suite [Default Suite]
===============================================
Default Suite
Total tests run: 4, Failures: 0, Skips: 0
打印出来的测试报告为: