我正在尝试执行一种简单的TestNG测试方法,但是,我遇到了异常:
cannot find class in calsspath
我在eclipse中尝试过Project->Clean
,但是,它也不起作用,请注意,我已经为testng.xml
中的测试类给出了完整的层次结构,请指出问题可能出在哪里。
我尝试过Project-->Clean
,Run as-->mvn clean build
{
TestNG.xml have below code
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1" verbose="1" >
<test name="TestClasses" >
<classes>
<class name="com.extentreports.test.ExtentReports.TestClass1" />
</classes>
</test>
</suite>
please see that, i have given complete path for my test class, still issue not solved
POM.xml have below entries
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M3</version>
<configuration>
<suiteXmlFiles> testng.xml </suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<!-- https://mvnrepository.com/artifact/com.aventstack/extentreports -->
<dependency>
<groupId>com.aventstack</groupId>
<artifactId>extentreports</artifactId>
<version>4.0.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
</dependencies>
TestClass1.java have below code
@Test
public void test001(){
System.out.println("Test001");
}
}
Eclipse控制台中的错误跟踪: { 这是在eclipse console {org.testng.TestNGException:中找不到类的异常跟踪:在org.org的org.testng.xml.XmlClass.loadClass(XmlClass.java:77)的类路径:com.extentreports.test.ExtentReports.TestClass1中找不到类.com的org.testng.xml.XmlClass。(XmlClass.java:55)的.testng.xml.XmlClass.init(XmlClass.java:69)com的org.testng.xml.TestNGContentHandler.startElement(TestNGContentHandler.java:575)的。 .sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:509)}
}
答案 0 :(得分:0)
我刚刚发现了实际的问题,这是因为Maven首先编译我们的.java文件并创建.class文件,然后将它们放置在“ target”文件夹中,然后maven使用这些编译后的类来执行。由于某些未知的原因,不会进行编译并且目标文件夹为空。现在,我发现了问题,我尝试了maven的命令,例如build,generate-source来编译它(不确定这些命令是否正确。但是,只是尝试了一下),没有任何效果,但是,当我运行我的命令时,项目[右键单击项目并选择运行方式]并以maven test运行我的项目,这已编译了我的.java文件并在目标文件夹中生成了文件。现在,如果我将测试类作为单独的testng或从testng.xml文件运行,则代码已成功执行。
这也适用于任何版本的testng,例如6.11 ...... 6.14.2和6.14.3。