我做项目时TestNG测试用例没有编译 - >清洁

时间:2011-09-13 09:12:30

标签: eclipse spring maven testng

我正在使用Spring,TestNG,Eclipse,Maven,Mac OS

情景

我正在对我的测试用例(TestNG测试用例)进行一些更改,

然后我做项目 - >在日食中清洁

现在我正在运行测试文件,但更改未更新。

我怀疑测试文件未编译。

我可以运行服务器,我可以运行我的webservices

但如果我运行maven test(mvn test),整个代码都在编译,包括测试用例。

因此,为了运行测试用例,我只运行mvn test命令。

无法通过eclipse运行。

Eclipse配置:

自动构建

在Java构建路径中包含测试包

如果您需要我提供的更多信息。

org.testng.TestNGException: 
    Cannot find class in classpath: com.***.***.model.***.case.CaseModelImplTest
        at org.testng.xml.XmlClass.loadClass(XmlClass.java:76)
        at org.testng.xml.XmlClass.init(XmlClass.java:68)
        at org.testng.xml.XmlClass.<init>(XmlClass.java:54)
        at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:512)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:501)
        at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:179)
        at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:788)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1343)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2755)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:808)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:119)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:395)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:198)
        at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:17)
        at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:10)
        at org.testng.xml.Parser.parse(Parser.java:170)
        at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:304)
        at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:86)
        at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:199)
        at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:170)

9 个答案:

答案 0 :(得分:4)

看来,您的测试用例类不包含在构建路径中。右键单击Project文件夹,转到项目 properties-&gt; src
通过检查它包括您的Testcase src文件夹 现在它应该运行。

答案 1 :(得分:4)

打开“问题”视图。在Eclipse中,转到Window-&gt; Show View-&gt; Problems。它将在编译代码时列出所有失败。

答案 2 :(得分:3)

是否正在编译测试用例,但是到了错误的目录?它们需要编译为测试类而不是类。在构建路径中,您需要将Output文件夹设置为

  

PROJECT /目标/测试类

所有测试资源都是如此(包括src / test / java&amp; src / test / resources)。

在Eclipse中编辑项目属性,选择Java Build Path,然后在“源”选项卡中,您将看到所有源目录。每个人都有一个输出文件夹。此输出文件夹必须如上所述。

答案 3 :(得分:2)

转到Project --> Clean

这对我有类似的问题。

答案 4 :(得分:1)

请检查您的testNG.xml文件以获取正确的测试,因为我收到了同样的错误,原因是输入了错误的测试名称。

答案 5 :(得分:0)

您的测试文件夹是否已添加为Eclipse中的源文件夹?如果不是,它将不会包含在构建中。

答案 6 :(得分:0)

我通过以下方式解决了这个问题:

  1. 更改构建路径/删除一些错误的路径
  2. 清洁项目

答案 7 :(得分:0)

我认为如果您的测试类在默认包中并且在Testng.xml中,我们会得到此错误,您指定如下 -

<suite name="Suite" parallel="none">
<listeners>
    <listener class-name="org.uncommons.reportng.HTMLReporter" />
    <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
<test name="Test">
    <classes>
        <class name=".Test1" />
    </classes>
</test> <!-- Test -->

在上面,我将我的testclass从默认包移到了某个包,并且还更新了testng.xml,如下所示 - 一切都开始工作了。

<suite name="Suite" parallel="none">
<listeners>
    <listener class-name="org.uncommons.reportng.HTMLReporter" />
    <listener class-name="org.uncommons.reportng.JUnitXMLReporter" />
</listeners>
<test name="Test">
    <classes>
        <class name="com.sigma.rest.api.Test1" />
    </classes>
</test> <!-- Test -->

我希望这可以帮助你...如果问题仍然存在,请尝试以上选项。

谢谢!

答案 8 :(得分:0)

检查您的项目工件如excel,属性文件,xml文件等是否在文本编辑器等中打开(如果是,请关闭它们并重建)

清理并重建时,请确保关闭所有项目相关文件并进行构建。