**在ExtentReport中没有刷新跳过测试用例的详细信息。这是我的示例代码。我正在使用ExtentReports依赖版本< 2.40.2>。 根据下面的代码,一旦myTest()方法失败,依赖测试应该在ExtentReport中报告为跳过,但我只能看到传递的测试用例详细信息。没有关于跳过测试用例的详细信息。 建议我所需的更改或更新。 **
package mypackage;
import org.testng.Assert;
import org.testng.ITestResult;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;
import com.relevantcodes.extentreports.ExtentReports;
import com.relevantcodes.extentreports.ExtentTest;
import com.relevantcodes.extentreports.LogStatus;
public class ExtentTestLogs
{
ExtentReports report;
ExtentTest logger;
@BeforeMethod
public void startTest() {
report = new ExtentReports("E:\\Reports\\ExtentTestLogs.html", false);
logger = report.startTest("log report is started");
logger.log(LogStatus.INFO, "Before method");
}
@Test
public void sampleTest(){
logger.log(LogStatus.PASS, "sample test is executed");
}
@Test
public void myTest(){
Assert.assertTrue(false);
}
@Test(dependsOnMethods={"myTest"}) //skipped test
public void skippedTest(){
logger.log(LogStatus.INFO, "Skipped Test information");
}
@AfterMethod
public void endTest(ITestResult result) {
if(result.getStatus() == ITestResult.FAILURE){
logger.log(LogStatus.FAIL,"This test is failed");
report.endTest(logger);
report.flush();
}
if(result.getStatus() == ITestResult.SUCCESS ){
logger.log(LogStatus.PASS, "This test is Passed");
report.endTest(logger);
report.flush();
}
if(result.getStatus() == ITestResult.SKIP){
logger.log(LogStatus.SKIP, "This test is skipped");//Expecting logger
report.endTest(logger);
report.flush();
}
}
}
答案 0 :(得分:0)
flush()“在HTML文件中附加所有已结束的测试。”
close()需要在结束测试后调用并调用flush才能刷新报告。
尝试在代码中的flush()之后添加report.close()。