簡體   English   中英

獲取“ java:不兼容的類型:java.lang.Object無法轉換為org.testng.ISuiteResult”

[英]Getting “java: incompatible types: java.lang.Object cannot be converted to org.testng.ISuiteResult”

我已經為自動化框架使用reportNg生成了結果報告,但這似乎並不方便,因為它沒有在結果中顯示測試用例的描述。 因此,我嘗試使用IReporter界面生成自定義的html結果報告,但是出現以下錯誤:

java: incompatible types: java.lang.Object cannot be converted to org.testng.ISuiteResult

使用以下代碼時:

import java.util.List;
import java.util.Map;
import org.testng.IReporter;
import org.testng.ISuite;
import org.testng.ISuiteResult;
import org.testng.ITestContext;
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 suiteResults = suite.getResults();
            for (ISuiteResult sr : suiteResults.values()) { //issue comes here
                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());
            }
        }
    }
}

您在此處使用原始Map類型:

Map suiteResults = suite.getResults();

您應該指定類型參數:

Map<String, ISuiteResult> suiteResults = suite.getResults();

或者考慮到您除了下一行以外沒有使用其他變量,只需內聯它:

for (ISuiteResult sr : suite.getResults().values())

您也需要為方法簽名做同樣的事情:

public void generateReport(
    List<XmlSuite> xmlSuites,
    List<ISuite> suites,
    String outputDirectory)

匹配org.testng.IReporter文檔 ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM