Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
即使找到匹配的构造函数,也找不到它 import groovy.util.slurpersupport.Node 导入groovy.util.slurpersupport.NodeChild /** *创建于2017年3月25日。 */ File File=新文件(“/Users/user1/output/1”) XMLLoader XMLLoader=新的XMLLoader(文件); HashMap temp=xmlLoader.sendNodes() JunitDataParser junitParser=新的JunitDataParser(临时) junitParser.populateStats() 公共类XMLLoader{ HashMap rootNodes;//Junit xml文件的根节点集合 公共XMLLoader(文件junitFile){ rootNodes=newarraylist() //若文件是目录,那个么closure将搜索目录以查找有效的xml文件 if(junitFile.isDirectory()){ junitFile.eachFile{ 如果(验证文件(it)){ rootNodes.put(it.name,new XmlSlurper().parse(it))//将每个fine加载到XmlSlurper的arraylist中 } } }否则{ if(验证文件(junitFile)){ put(junitFile.name,新的XmlSlurper().parse(it)) //将单个fine加载到XMLSlurpers的arraylist中 } } } 布尔验证文件(文件检查文件){ if(checkFile.name.endsWith('.xml')){ assert checkFile.exists():“无法读取输入的文件” assert checkFile.canRead():“无法读取输入的文件” 返回true; } 返回错误 } HashMap sendNodes(){ 返回根节点 } } 公共类JunitDataParser扩展了GeneralDataParser{ def JunitDataParser(HashMap根节点){ 超级(根节点) } HashMap getPopulatedData(){ 返回super.getPopulatedData() } 遗嘱无效{ ArrayList stats=getTestSuites(); } ArrayList getTestSuites(){ ArrayList testSuites=新的ArrayList() get(“first.xml”)。***'.findAll{ (it.name().equals(“testsuite”)&&(it.children().getAt(0.name().equals(“testcase”)) }.每个{ TestSuite temp=newtestSuite(it.attributes().get(“name”)、it.attributes().get(“tests”).toInteger()、it.attributes().get(“errors”).toInteger()、it.attributes().get(“time”)、it.attributes().get(“timestamp”)、getTestCases(it)) testSuites.add(临时) } 返回测试套件 } ArrayList getTestCases(NodeChild testSuiteNode){ ArrayList testCases=新的ArrayList() testSuiteNode.childNodes()。每个{ 串时间; if(time!=null&&time.length()>0){ time=it.attributes().get(“时间”) }否则{ time=“未找到时间” } 添加(新的TestCase(it.attributes().get(“name”)、getoutput(it)、time)) } 返回测试用例 } TestResult GetOutput(节点testCaseNode){ String testMessage=“hi” int testoutput=0; 如果(testCaseNode.childNodes().size()!=0){ testCaseNode.childNodes()。每个{ it.attributes()。每个{ testMessage=testMessage+“\n$it.key:$it.value” } } 测试结果=1 } TestResult temp=新的TestResult(0,testMessage) 返回温度 } } //所有附加解析器应扩展和填充的基本抽象类 公共抽象类GeneralDataParser{ HashMap根节点 HashMap填充数据 公共GeneralDataParser(HashMap根节点){ this.rootNodes=rootNodes } 遗嘱摘要 抽象ArrayList getTestSuites() 抽象数组列表getTestCases(NodeChild TestSuiteNode) 抽象TestResult GetOutput(节点testCaseNode) } 公共类测试套件{ ArrayList测试套件 测试套件(ArrayList测试套件){ this.testSuites=testSuites } } 公共类测试套件{ 字符串testSuiteName 智力测验 整数numOfErrors int NUMOF故障 字符串时间; 字符串时间戳; ArrayList测试用例 TestSuite(字符串testSuiteName、int numOfTests、int numOfErrors、int numOfFailures、字符串耗时、字符串时间戳、ArrayList测试用例){ this.testSuiteName=testSuiteName this.numOfTests=numOfTests this.numOfErrors=numOfErrors this.numOfFailures=numOfFailures this.timetake=耗时 this.timeStamp=时间戳 this.testCases=testCases } } 公共类测试用例{ 字符串testCasename 测试结果测试结果 字符串testCaseTime=“” TestCase(字符串testCasename、TestResult TestOutput、字符串testCaseTime){ this.testCasename=testCasename this.testoutput=testoutput this.testCaseTime=testCaseTime } } 公共类测试结果{ 瓦洛弗雷特酒店 字符串textOfResult 测试结果(int-valOfResult、String-textOfResult){ this.valOfResult=valOfResult this.textOfResult=textOfResult } }_Groovy_Constructor - Fatal编程技术网

即使找到匹配的构造函数,也找不到它 import groovy.util.slurpersupport.Node 导入groovy.util.slurpersupport.NodeChild /** *创建于2017年3月25日。 */ File File=新文件(“/Users/user1/output/1”) XMLLoader XMLLoader=新的XMLLoader(文件); HashMap temp=xmlLoader.sendNodes() JunitDataParser junitParser=新的JunitDataParser(临时) junitParser.populateStats() 公共类XMLLoader{ HashMap rootNodes;//Junit xml文件的根节点集合 公共XMLLoader(文件junitFile){ rootNodes=newarraylist() //若文件是目录,那个么closure将搜索目录以查找有效的xml文件 if(junitFile.isDirectory()){ junitFile.eachFile{ 如果(验证文件(it)){ rootNodes.put(it.name,new XmlSlurper().parse(it))//将每个fine加载到XmlSlurper的arraylist中 } } }否则{ if(验证文件(junitFile)){ put(junitFile.name,新的XmlSlurper().parse(it)) //将单个fine加载到XMLSlurpers的arraylist中 } } } 布尔验证文件(文件检查文件){ if(checkFile.name.endsWith('.xml')){ assert checkFile.exists():“无法读取输入的文件” assert checkFile.canRead():“无法读取输入的文件” 返回true; } 返回错误 } HashMap sendNodes(){ 返回根节点 } } 公共类JunitDataParser扩展了GeneralDataParser{ def JunitDataParser(HashMap根节点){ 超级(根节点) } HashMap getPopulatedData(){ 返回super.getPopulatedData() } 遗嘱无效{ ArrayList stats=getTestSuites(); } ArrayList getTestSuites(){ ArrayList testSuites=新的ArrayList() get(“first.xml”)。***'.findAll{ (it.name().equals(“testsuite”)&&(it.children().getAt(0.name().equals(“testcase”)) }.每个{ TestSuite temp=newtestSuite(it.attributes().get(“name”)、it.attributes().get(“tests”).toInteger()、it.attributes().get(“errors”).toInteger()、it.attributes().get(“time”)、it.attributes().get(“timestamp”)、getTestCases(it)) testSuites.add(临时) } 返回测试套件 } ArrayList getTestCases(NodeChild testSuiteNode){ ArrayList testCases=新的ArrayList() testSuiteNode.childNodes()。每个{ 串时间; if(time!=null&&time.length()>0){ time=it.attributes().get(“时间”) }否则{ time=“未找到时间” } 添加(新的TestCase(it.attributes().get(“name”)、getoutput(it)、time)) } 返回测试用例 } TestResult GetOutput(节点testCaseNode){ String testMessage=“hi” int testoutput=0; 如果(testCaseNode.childNodes().size()!=0){ testCaseNode.childNodes()。每个{ it.attributes()。每个{ testMessage=testMessage+“\n$it.key:$it.value” } } 测试结果=1 } TestResult temp=新的TestResult(0,testMessage) 返回温度 } } //所有附加解析器应扩展和填充的基本抽象类 公共抽象类GeneralDataParser{ HashMap根节点 HashMap填充数据 公共GeneralDataParser(HashMap根节点){ this.rootNodes=rootNodes } 遗嘱摘要 抽象ArrayList getTestSuites() 抽象数组列表getTestCases(NodeChild TestSuiteNode) 抽象TestResult GetOutput(节点testCaseNode) } 公共类测试套件{ ArrayList测试套件 测试套件(ArrayList测试套件){ this.testSuites=testSuites } } 公共类测试套件{ 字符串testSuiteName 智力测验 整数numOfErrors int NUMOF故障 字符串时间; 字符串时间戳; ArrayList测试用例 TestSuite(字符串testSuiteName、int numOfTests、int numOfErrors、int numOfFailures、字符串耗时、字符串时间戳、ArrayList测试用例){ this.testSuiteName=testSuiteName this.numOfTests=numOfTests this.numOfErrors=numOfErrors this.numOfFailures=numOfFailures this.timetake=耗时 this.timeStamp=时间戳 this.testCases=testCases } } 公共类测试用例{ 字符串testCasename 测试结果测试结果 字符串testCaseTime=“” TestCase(字符串testCasename、TestResult TestOutput、字符串testCaseTime){ this.testCasename=testCasename this.testoutput=testoutput this.testCaseTime=testCaseTime } } 公共类测试结果{ 瓦洛弗雷特酒店 字符串textOfResult 测试结果(int-valOfResult、String-textOfResult){ this.valOfResult=valOfResult this.textOfResult=textOfResult } }

即使找到匹配的构造函数,也找不到它 import groovy.util.slurpersupport.Node 导入groovy.util.slurpersupport.NodeChild /** *创建于2017年3月25日。 */ File File=新文件(“/Users/user1/output/1”) XMLLoader XMLLoader=新的XMLLoader(文件); HashMap temp=xmlLoader.sendNodes() JunitDataParser junitParser=新的JunitDataParser(临时) junitParser.populateStats() 公共类XMLLoader{ HashMap rootNodes;//Junit xml文件的根节点集合 公共XMLLoader(文件junitFile){ rootNodes=newarraylist() //若文件是目录,那个么closure将搜索目录以查找有效的xml文件 if(junitFile.isDirectory()){ junitFile.eachFile{ 如果(验证文件(it)){ rootNodes.put(it.name,new XmlSlurper().parse(it))//将每个fine加载到XmlSlurper的arraylist中 } } }否则{ if(验证文件(junitFile)){ put(junitFile.name,新的XmlSlurper().parse(it)) //将单个fine加载到XMLSlurpers的arraylist中 } } } 布尔验证文件(文件检查文件){ if(checkFile.name.endsWith('.xml')){ assert checkFile.exists():“无法读取输入的文件” assert checkFile.canRead():“无法读取输入的文件” 返回true; } 返回错误 } HashMap sendNodes(){ 返回根节点 } } 公共类JunitDataParser扩展了GeneralDataParser{ def JunitDataParser(HashMap根节点){ 超级(根节点) } HashMap getPopulatedData(){ 返回super.getPopulatedData() } 遗嘱无效{ ArrayList stats=getTestSuites(); } ArrayList getTestSuites(){ ArrayList testSuites=新的ArrayList() get(“first.xml”)。***'.findAll{ (it.name().equals(“testsuite”)&&(it.children().getAt(0.name().equals(“testcase”)) }.每个{ TestSuite temp=newtestSuite(it.attributes().get(“name”)、it.attributes().get(“tests”).toInteger()、it.attributes().get(“errors”).toInteger()、it.attributes().get(“time”)、it.attributes().get(“timestamp”)、getTestCases(it)) testSuites.add(临时) } 返回测试套件 } ArrayList getTestCases(NodeChild testSuiteNode){ ArrayList testCases=新的ArrayList() testSuiteNode.childNodes()。每个{ 串时间; if(time!=null&&time.length()>0){ time=it.attributes().get(“时间”) }否则{ time=“未找到时间” } 添加(新的TestCase(it.attributes().get(“name”)、getoutput(it)、time)) } 返回测试用例 } TestResult GetOutput(节点testCaseNode){ String testMessage=“hi” int testoutput=0; 如果(testCaseNode.childNodes().size()!=0){ testCaseNode.childNodes()。每个{ it.attributes()。每个{ testMessage=testMessage+“\n$it.key:$it.value” } } 测试结果=1 } TestResult temp=新的TestResult(0,testMessage) 返回温度 } } //所有附加解析器应扩展和填充的基本抽象类 公共抽象类GeneralDataParser{ HashMap根节点 HashMap填充数据 公共GeneralDataParser(HashMap根节点){ this.rootNodes=rootNodes } 遗嘱摘要 抽象ArrayList getTestSuites() 抽象数组列表getTestCases(NodeChild TestSuiteNode) 抽象TestResult GetOutput(节点testCaseNode) } 公共类测试套件{ ArrayList测试套件 测试套件(ArrayList测试套件){ this.testSuites=testSuites } } 公共类测试套件{ 字符串testSuiteName 智力测验 整数numOfErrors int NUMOF故障 字符串时间; 字符串时间戳; ArrayList测试用例 TestSuite(字符串testSuiteName、int numOfTests、int numOfErrors、int numOfFailures、字符串耗时、字符串时间戳、ArrayList测试用例){ this.testSuiteName=testSuiteName this.numOfTests=numOfTests this.numOfErrors=numOfErrors this.numOfFailures=numOfFailures this.timetake=耗时 this.timeStamp=时间戳 this.testCases=testCases } } 公共类测试用例{ 字符串testCasename 测试结果测试结果 字符串testCaseTime=“” TestCase(字符串testCasename、TestResult TestOutput、字符串testCaseTime){ this.testCasename=testCasename this.testoutput=testoutput this.testCaseTime=testCaseTime } } 公共类测试结果{ 瓦洛弗雷特酒店 字符串textOfResult 测试结果(int-valOfResult、String-textOfResult){ this.valOfResult=valOfResult this.textOfResult=textOfResult } },groovy,constructor,Groovy,Constructor,我一直找不到匹配的构造函数。有人看到任何问题吗 捕获:groovy.lang.GroovyRuntimeException:找不到与以下内容匹配的构造函数:TestSuite(java.lang.String、java.lang.Integer、java.lang.Integer、java.lang.String、java.util.ArrayList) groovy.lang.GroovyRuntimeException:找不到以下的匹配构造函数:TestSuite(java.lang.Str

我一直找不到匹配的构造函数。有人看到任何问题吗

捕获:groovy.lang.GroovyRuntimeException:找不到与以下内容匹配的构造函数:TestSuite(java.lang.String、java.lang.Integer、java.lang.Integer、java.lang.String、java.util.ArrayList) groovy.lang.GroovyRuntimeException:找不到以下的匹配构造函数:TestSuite(java.lang.String、java.lang.Integer、java.lang.Integer、java.lang.String、java.lang.String、java.util.ArrayList) 在JunitDataParser$_getTestSuites_closure2.doCall(JunitXMLToBeautifulHTML.groovy:70) 在JunitDataParser.getTestSuites(JunitXMLToBeautifulHTML.groovy:67) 在JunitDataParser.populateStats(JunitXMLToBeautifulHTML.groovy:62) 在JunitDataParser$populateStats.call(未知源) 在JunitXMLToBeautifulHTML.run(JunitXMLToBeautifulHTML.groovy:13) 位于com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

急诊室
import groovy.util.slurpersupport.Node
import groovy.util.slurpersupport.NodeChild

/**
 * Created by on 2017-03-25.
 */


File file = new File("/Users/user1/output/1")
XMLLoader xmlLoader = new XMLLoader(file);
HashMap<String, XmlSlurper> temp = xmlLoader.sendNodes()
JunitDataParser junitParser = new JunitDataParser(temp)
junitParser.populateStats()

public class XMLLoader {
    HashMap<String, XmlSlurper> rootNodes; // Collection of root nodes for Junit xml files

    public XMLLoader(File junitFile) {
        rootNodes = new ArrayList<>()
        // If file is directory then closure will search directory to find valid xml files
        if (junitFile.isDirectory()) {
            junitFile.eachFile {
                if (validateFile(it)) {
                    rootNodes.put(it.name, new XmlSlurper().parse(it)) // Load each fine into arraylist of XMLSlurpers
                }
            }
        } else {
            if (validateFile(junitFile)) {
                rootNodes.put(junitFile.name, new XmlSlurper().parse(it))
                // Load single fine into arraylist of XMLSlurpers
            }
        }
    }

    boolean validateFile(File checkFile) {
        if (checkFile.name.endsWith('.xml')) {
            assert checkFile.exists(): "The file entered could not be be read"
            assert checkFile.canRead(): "The file entered could not be be read"
            return true;
        }
        return false
    }

    HashMap<String, XmlSlurper> sendNodes() {
        return rootNodes
    }
}


public class JunitDataParser extends GeneralDataParser {


    def JunitDataParser(HashMap<String, XmlSlurper> rootNodes) {
        super(rootNodes)
    }

    HashMap<String, ArrayList<TestSuites>> getPopulatedData() {
        return super.getPopulatedData()
    }

    void populateStats() {
        ArrayList<TestSuite> stats = getTestSuites();
    }

    ArrayList<TestSuite> getTestSuites() {
        ArrayList<TestSuite> testSuites = new ArrayList<>()
        rootNodes.get("first.xml").'**'.findAll {
            (it.name().equals("testsuite")) && (it.children().getAt(0).name().equals("testcase"))
        }.each {
            TestSuite temp = new TestSuite(it.attributes().get("name"), it.attributes().get("tests").toInteger(), it.attributes().get("errors").toInteger(), it.attributes().get("time"), it.attributes().get("timestamp"), getTestCases(it))
            testSuites.add(temp)
        }
        return testSuites
    }

    ArrayList<TestCase> getTestCases(NodeChild testSuiteNode) {
        ArrayList<TestCase> testCases = new ArrayList<>()
        testSuiteNode.childNodes().each {
            String time;
            if (time!=null && time.length()>0) {
                time = it.attributes().get("time")
            } else {
                time = "Time Not Found"
            }
            testCases.add(new TestCase(it.attributes().get("name"), getOutCome(it), time))
        }
        return testCases
    }

    TestResult getOutCome(Node testCaseNode) {
        String testMessage = "hi"
        int testOutcome = 0;
        if (testCaseNode.childNodes().size() != 0) {
            testCaseNode.childNodes().each {
                it.attributes().each {
                    testMessage = testMessage + "\n $it.key : $it.value"
                }
            }
            testOutcome =1
        }
        TestResult temp = new TestResult(0,testMessage)
        return temp
    }

}

// The Base abstract class that all additional parsers should extend and populate
public abstract class GeneralDataParser {
    HashMap<String, XmlSlurper> rootNodes
    HashMap<String, ArrayList<TestSuites>> populatedData

    public GeneralDataParser(HashMap<String, XmlSlurper> rootNodes) {
        this.rootNodes = rootNodes
    }

    abstract void populateStats()

    abstract ArrayList<TestSuite> getTestSuites()

    abstract ArrayList<TestCase> getTestCases(NodeChild testSuiteNodes)

    abstract TestResult getOutCome(Node testCaseNode)

}

public class TestSuites {
    ArrayList<TestSuite> testSuites

    TestSuites(ArrayList<TestSuite> testSuites) {
        this.testSuites = testSuites
    }
}

public class TestSuite {
    String testSuiteName
    int numOfTests
    int numOfErrors
    int numOfFailures
    String timeTaken;
    String timeStamp;
    ArrayList<TestCase> testCases

    TestSuite(String testSuiteName, int numOfTests, int numOfErrors, int numOfFailures, String timeTaken, String timeStamp, ArrayList<TestCase> testCases) {
        this.testSuiteName = testSuiteName
        this.numOfTests = numOfTests
        this.numOfErrors = numOfErrors
        this.numOfFailures = numOfFailures
        this.timeTaken = timeTaken
        this.timeStamp = timeStamp
        this.testCases = testCases
    }
}

public class TestCase {
    String testCasename
    TestResult testOutcome
    String testCaseTime = ""

    TestCase(String testCasename, TestResult testOutcome, String testCaseTime) {
        this.testCasename = testCasename
        this.testOutcome = testOutcome
        this.testCaseTime = testCaseTime
    }
}

public class TestResult {
    int valOfResult
    String textOfResult

    TestResult(int valOfResult, String textOfResult) {
        this.valOfResult = valOfResult
        this.textOfResult = textOfResult
    }
}
TestSuite(String testSuiteName, int numOfTests, int numOfErrors, int numOfFailures, String timeTaken, String timeStamp, ArrayList<TestCase> testCases)
new TestSuite(it.attributes().get("name"), it.attributes().get("tests").toInteger(), it.attributes().get("errors").toInteger(), it.attributes().get("time"), it.attributes().get("timestamp"), getTestCases(it))