• Testng 运行Cannot find class in classpath


    用Testng运行多个class,结果报:

    org.testng.TestNGException:
    Cannot find class in classpath: Salesman
        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: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:2756)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:647)
        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:172)
        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)

    当然在网上找解决方法是一个实践和理论结合的过程,网上列举的方法:设置testng环境变量,设置完成后运行还是报错,分析保存内容:Cannot find class in classpath,我一开始以为是找不到编译后的class文件,于是在xml文件中添加了class文件所在路径,还是运行失败。

    正确原因Java文件路径不正确

    原来xml文件:

        <classes>
           <class name="Salesman" />
        </classes>

    其实我的Salesman文件的上一层是function文件夹,再上一层才是src,文件路径:src->function->Salesman,仔细一检查就会发现路径不正确,于是修改一下xml:

       <classes>
           <class name="function.Salesman" />
        </classes>

    问题得到解决。

  • 相关阅读:
    微软教程:ASP.NET Core MVC 入门
    微软教程:ASP.NET Core Razor Pages 入门
    微软教程:ASP.NET Core Web API 入门
    微软教程:ASP.NET Core SignalR 入门(实时Web应用)
    Entity Framework Core 系列教程(翻译)
    视频教程:ASP.NET Core 3.x 构建 RESTful API(高级)
    C#(99):C# 9.0 新特性( NET Framework 5.0 与 Visual Studio ? )
    视频教程:VS Core 40分钟进行WebAPI开发和调用(入门级别)
    视频教程:ASP.NET Core 3.x 入门(包括MVC、Razor Page、Blazor、SignalR、gRPC)
    EntityFramework Core入门教程-12-在ASP.NET Core项目中配置EF Core
  • 原文地址:https://www.cnblogs.com/sunny-sl/p/7846286.html
Copyright © 2020-2023  润新知