您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > TestNG
TestNG自定義記錄器測(cè)試報(bào)告
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/9/4 13:33:17 ] 推薦標(biāo)簽:軟件測(cè)試 單元測(cè)試 TestNG

  在本節(jié)中,我們將介紹一個(gè)例子,編寫(xiě)自定義記錄器和TestNG的方法。要編寫(xiě)一個(gè)定制的記錄器類(lèi),我們的擴(kuò)展類(lèi)應(yīng)實(shí)現(xiàn)IReporter接口。讓我們繼續(xù)前進(jìn),并創(chuàng)建一個(gè)示例使用自定義的記錄器。
  創(chuàng)建測(cè)試案例類(lèi)
  創(chuàng)建一個(gè)Java類(lèi)為 SampleTest.java 在 C: > TestNG_WORKSPACE
import org.testng.Assert;
import org.testng.annotations.Test;
public class SampleTest {
@Test
public void testMethodOne(){
Assert.assertTrue(true);
}
@Test
public void testMethodTwo(){
Assert.assertTrue(false);
}
@Test(dependsOnMethods={"testMethodTwo"})
public void testMethodThree(){
Assert.assertTrue(true);
}
}
  上述測(cè)試類(lèi)的包含三個(gè)測(cè)試方法,其中testMethodOne 和 testMethodThree將通過(guò)在執(zhí)行時(shí),而testMethodTwo由通過(guò)一個(gè)falseBoolean的值A(chǔ)ssert.assertTrue方法,它是用于在測(cè)試中的真值條件失敗。
  創(chuàng)建自定義報(bào)告類(lèi)
  創(chuàng)建另一個(gè)新的類(lèi)名為 CustomReporter.java 在 C: > TestNG_WORKSPACE
import java.util.List;
import java.util.Map;
import org.testng.IReporter;
import org.testng.ISuite;
import org.testng.ISuiteResult;
import org.testng.ITestContext;
import org.testng.xml.XmlSuite;
public class CustomReporter implements IReporter{
@Override
public void generateReport(List xmlSuites, List suites,
String outputDirectory) {
//Iterating over each suite included in the test
for (ISuite suite : suites) {
//Following code gets the suite name
String suiteName = suite.getName();
//Getting the results for the said suite
Map<string, isuiteresult=""> suiteResults = suite.getResults();
for (ISuiteResult sr : suiteResults.values()) {
ITestContext tc = sr.getTestContext();
System.out.println("Passed tests for suite '" + suiteName +
"' is:" + tc.getPassedTests().getAllResults().size());
System.out.println("Failed tests for suite '" + suiteName +
"' is:" +
tc.getFailedTests().getAllResults().size());
System.out.println("Skipped tests for suite '" + suiteName +
"' is:" +
tc.getSkippedTests().getAllResults().size());
}
}
}
}
  前面的的類(lèi)實(shí)現(xiàn)org.testng.IReporter 接口。它實(shí)現(xiàn)了IReporter接口定義的方法GenerateReport。這個(gè)方法有三個(gè)參數(shù):
  第一個(gè)是xmlSuite,這是TestNG的測(cè)試XML正在執(zhí)行中提到的列表套件
  第二個(gè)是套件,其中包含一套測(cè)試執(zhí)行后信息,該對(duì)象包含了所有的信息包,類(lèi),測(cè)試方法和測(cè)試執(zhí)行結(jié)果。
  第三的outputDirectory,報(bào)告將產(chǎn)生的輸出文件夾路徑,其中包含的信息。

上一頁(yè)12下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd