我正在使用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)
答案 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)
我通过以下方式解决了这个问题:
答案 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文件等是否在文本编辑器等中打开(如果是,请关闭它们并重建)
清理并重建时,请确保关闭所有项目相关文件并进行构建。