據說testNG比junit更好用,記錄下java
環境:springboot2.0+testNG6.8+maven+myeclipsespring
一 安裝springboot
(1)m'yeclipse安裝testNg包,下載testNg包,拷貝到myeclpse目錄下eclipse
(2)pom.xml導入testNg的依賴包maven
二,基本功能ide
(1)一些標註@BeforeClass,BeforeSuite,BeforeMethod,@Test(enabled=false)的執行順序和junit基本一致的原理測試
(2)經過配置文件suite.xml執行suite,這裏有個groups分組,包括類分組和方法分組,來靈活制定運行哪些測試case,也和本來預計的沒啥區別ui
三,參數化spa
比較感興趣額是參數化,2中經常使用的傳參方式code
(1)suite.xml配置文件配置parameters,直接執行suite.xml
注意:這種方法必須執行xml文件,而不是java文件,不然報錯
Parameter 'username' is required by @Test on method pamameterUse1 but has not been marked @Optional or defined
java代碼
@Parameters({ "username","password" }) @Test public void pamameterUse1(String username,String password){ System.out.println(username+password); }
suite.xml配置文件
<?xml version="1.0" encoding="UTF-8"?> <suite name="Suite"> <test name="myparam"> <parameter name="username" value="mili"/> <parameter name="password" value="123455"/> <classes> <class name="com.summit.suite.Parameter"></class> </classes> </test> </suite>
執行suite.xml結果
mili123455
===============================================
(2)@DaraProvider註解實現傳參,可直接執行java文件
@DataProvider(name="milidata") public Object[][] providerData(){ return new Object[][]{{"wangli","33333"},{"lixiao","44444"}}; } @Test(dataProvider = "milidata") public void testDataProvider(String name,String pwd){ System.out.println(name+pwd); }
wangli33333
lixiao44444
PASSED: testDataProvider("wangli", "33333")
PASSED: testDataProvider("lixiao", "44444")
===============================================
(3)平常中須要把參數和腳本分離開,testNg怎麼作呢?