首页 > 解决方案 > 尝试从命令行 TestNG 运行 Spring Boot 应用程序:Application Thrown Exception as AbstractTestNGSpringContextTests class not found

问题描述

我的 Testng.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "https://testng.org/testng 1.0.dtd">
<suite name="TESTCASES">
    <test name="Check Main Method">
        <classes>
            <class name="com.testcase.test1/>
        </classes>
   </test>
</suite>

Testng 命令行命令:

java -cp "c:/project/test/lib/*;c:/project/test/target/test-classes/" org.testng.TestNG testng.xml

Cmd 控制台上的异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/test/context/testng/AbstractTestNGSpringContextTests
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at org.testng.internal.ClassHelper.forName(ClassHelper.java:94)
    at org.testng.xml.XmlClass.loadClass(XmlClass.java:72)
    at org.testng.xml.XmlClass.init(XmlClass.java:67)
    at org.testng.xml.XmlClass.<init>(XmlClass.java:54)
    at org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:576)
    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:1339)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
        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:643)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:327)
        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:16)
        at org.testng.xml.SuiteXmlParser.parse(SuiteXmlParser.java:9)
        at org.testng.xml.Parser.parse(Parser.java:164)
        at org.testng.xml.Parser.parse(Parser.java:250)
        at org.testng.TestNG.parseSuite(TestNG.java:324)
        at org.testng.TestNG.initializeSuitesAndJarFile(TestNG.java:376)
        at org.testng.TestNG.initializeEverything(TestNG.java:1011)
        at org.testng.TestNG.run(TestNG.java:1023)
        at org.testng.TestNG.privateMain(TestNG.java:1365)
        at org.testng.TestNG.main(TestNG.java:1329)
Caused by: java.lang.ClassNotFoundException: org.springframework.test.context.testng.AbstractTestNGSpringContextTests
        at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)

我需要从命令行执行我的 testng.xml 文件。
文件夹结构:

项目

由于某些限制,我无法发布代码/图片。
任何帮助,将不胜感激。

谢谢

标签: springspring-bootspring-boot-testspring-boot-maven-plugin

解决方案


推荐阅读