2014-08-28 133 views
13

當我試圖運行測試套件時,得到此異常。我們在這裏使用maven項目,我完成了刷新,清理,重新安裝testNG,然後導入maven項目,但同時也得到相同的異常。請建議在這裏失蹤的任何方式。錯誤:org.testng.TestNGException:在類路徑中找不到類:EmpClass

錯誤控制檯:

org.testng.TestNGException: 
Cannot find class in classpath: EmpClass 

at org.testng.xml.XmlClass.loadClass(XmlClass.java:81) 
at org.testng.xml.XmlClass.init(XmlClass.java:73) 
at org.testng.xml.XmlClass.<init>(XmlClass.java:59) 
at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:543) 
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509) 
at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:182) 
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.emptyElement(XMLDTDValidator.java:766) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1350) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2778) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606) 
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) 
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848) 
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777) 
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141) 
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213) 
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649) 
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:333) 
at javax.xml.parsers.SAXParser.parse(SAXParser.java:195) 
at org.testng.xml.XMLParser.parse(XMLParser.java:39) 
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:168) 
at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:311) 
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:88) 
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204) 
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175) 
+0

告訴我們您是如何配置測試用例的。我們只能通過查看異常棧跟蹤來幫助我們...... – 2014-08-28 08:39:00

+0

通過藉助此鏈接配置測試用例http://selftechy.com/2012/01/09/setting-up-testng-with-eclipse – user2991323 2014-08-28 10:26:33

+0

1)我創建了一個新的java項目2)下載了TestNG存檔(testng-6.8.jar文件)3)爲testng-6.8.jar配置構建路徑 – user2991323 2014-08-28 10:58:25

回答

6

你必須編輯您的測試亞軍XML文件。 看到這個例子:

<test name="Employees Test"> 
       <classes> 
         <class name="packagename.classname"> 
         </class> 
       </classes> 
</test> 

<class name="packagename.classname">行,你必須輸入你的測試包的名稱然後將其命名要運行的類。

謝謝,祝你一切順利。

+0

這對我有效,謝謝! – 2017-08-09 16:41:29

13

我也得到了同樣的異常:

我嘗試以下步驟:

  1. 在Eclipse>項目>清除。 (例外保持)

  2. 我跑到另一個項目(該的testng.xml成功運行)

運行的另一個項目後,我跑的項目中,我得到異常,好在它的工作對我來說,沒有錯誤。

+0

正面臨着相同的錯誤。清理項目爲我工作。 – somnathchakrabarti 2016-10-06 08:47:43

+0

每次運行TestNG測試後,我都必須執行mvn clean install然後重新運行測試。否則,錯誤仍然存​​在。 – somnathchakrabarti 2016-10-06 09:38:42

0

我有類似的問題,項目有一些構建錯誤。 我做了sudo -R 777到項目,然後我清理了我的項目。 之後,它工作正常。

希望它有幫助。

0

我試圖在JSF項目中運行我的測試時發生了同樣的錯誤。

我正在使用Eclipse IDE(kepler)。所以,我做了「項目>清理」,然後再次運行同一項目的測試。

它的工作!

0

注意:您必須指定類名以及如下所示的包。

<suite name="testNGLearning"> 
    <test name="simpleTest"> 
     <classes> 
      <class name="testngTests.TestNGSimpleTest" /> 
      <class name="testngTests.TestMessageUtil" /> 
     </classes> 
    </test> 
</suite> 
0

讓IDE再次工作。該解決方案非常有趣 - 甚至是重新安裝,並且刪除IDE不會在Windows上修復它。在這種情況下,你需要做的是去testNG運行配置 - 並將它們全部刪除。 這是針對Windows OS上的TestNG XML類路徑錯誤。我正在使用spring工具套件3.6.4。

確保您刪除所有配置,確保項目可以構建,如果沒有問題,測試應該立即運行。

問候 - 安東尼Toorie

7

我面臨與TestNG的項目中導入行家的類似的問題。這是由

right click on eclipse project > TestNG > Convert to TestNG

再次轉換成TestNG的項目,並與新創建替換現有testng.xml文件解決。清潔和更新mvn install

注意Maven項目:利用你的testng.xml

0

備份在的testng.xml文件中刪除「」從標籤「」類名稱,如果你不使用包。

0

包括包名與類。它會刪除你的名字。我也遇到了同樣的問題,但在類中添加包名解決了此問題。

0

對我來說問題很奇怪。
我在我的Eclipse項目的根目錄下有一個testng.xml文件。當我通過Eclipse更改文件時,它不會更改我的目錄中的testng.xml文件。

原來它使該文件夾的副本到Eclipse工作空間..

希望這有助於有人出來

4

轉到 項目>構建路徑>配置構建路徑>庫>刪除錯誤庫

刷新項目並再次運行程序後。

0

在我看來,如果src有test/java /文件夾,那麼在構建路徑輸出位置應該像target/test-classes。

如果src具有main/java /文件夾,那麼在構建路徑輸出位置應該像target/classes。

0

我今天遇到了同樣的問題。 **在eclipse中再次設置類路徑解決了問題。

0

直到最近我都沒有問題。

現在我不得不將套件的xml測試文件移動到我測試的項目的根目錄下。

這可能是有一個設置指向我正在測試的類,但我沒有找到它。

0

對我來說,這個問題是因爲我排除了POM中的編譯測試。我的pom.xml是這樣的:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-compiler-plugin</artifactId> 
    <version>3.5.1</version> 
    <configuration> 
     <source>1.8</source> 
     <target>1.8</target> 
     <testExcludes> 
      <exclude>com/mycompany/app/AppTest.java</exclude> 
     </testExcludes> 
    </configuration> 
</plugin> 

取出<exclude>後,我能夠在AppTest.java再次運行測試。

0

在我的情況下,我在eclipse中將maven項目導入爲默認的現有項目。之後,我將其作爲maven項目導入。這對我很有用。

0

我在問題2美分:我遇到同樣的問題,而我的一部分路徑是西里爾。因此請檢查您的項目的特殊字符路徑。一旦我刪除了這一點,問題得到了解決

1

工程>>清潔和Maven >>更新項目工作對我來說

0

這個問題可以通過增加TestNG.class包OnlineStore包如下解決

  1. 第1步:構建路徑>配置構建路徑> Java構建路徑>選擇 「項目」選項卡
  2. 2步:點擊「添加」按鈕,然後選擇項目,包含 TestNG的來源。
  3. 步驟3選擇TestNG.xml作爲「TestNG Suite」運行