当前位置: 首页 > 知识库问答 >
问题:

在类路径文件中找不到自动测试的问题

彭硕
2023-03-14

首先,让我说一下,我自己做了很多研究,试图解决这个问题。我在SO上浏览了一堆答案,并尝试了很多,但遗憾的是,没有成功。

我目前的堆栈是Eclipse(火星)与Maven和Selenium。尝试运行自动测试时,我得到以下结果:

[信息]扫描项目...[INFO][INFO]-[Building automation 0 . 0 . 1-SNAPSHOT[INFO]-[WARNING]org . TestNG:TestNG:jar:5 . 14 . 3的POM无效,可传递的依赖项(如果有)将不可用,启用调试日志以了解更多详细信息[WARNING]org . TestNG:jar:5 . 14 . 4的POM无效,可传递的依赖项(如果有)将不可用,启用调试日志以了解更多详细信息[WARNING]org . TestNG:TestNG:jar:5.14的POM[INFO]正在复制7个资源[INFO][INFO]-maven-compiler-plugin:3.3:compile(默认-编译)@ automation - [INFO]检测到更改-重新编译模块![INFO]将253个源文件编译到C:\ Users \ b Moore \ workspace \ automation \ target \ classes[INFO][INFO]-maven-resources-plugin:2.6:test resources(default-test resources)@ automation-[INFO]使用“UTF-8”编码复制过滤后的资源。[INFO]复制3个资源[INFO][INFO]-maven-compiler-plugin:3.3:test compile(default-test compile)@ automation-[INFO]检测到更改-重新编译模块![INFO]将17个源文件编译到C:\ Users \ b Moore \ workspace \ automation \ target \ test-classes[INFO]

- T E S T S -运行测试套件

结果:

测试运行: 0, 失败: 0, 错误: 0, 跳过: 0

[INFO] - [INFO]构建失败[INFO] - [INFO]总时间:9.679 s [INFO]完成时间:2016-02-02t 10:26:53-07:00[INFO]最终内存:23M/277M [INFO] - [ERROR]未能执行goal org . Apache . maven . plugins:maven-surefire-plugin:2.19:test(default-test)关于项目自动化:执行default-test of goal org . Apache . maven . plugins:maven..QA . automation . roles . superadmincreatecoupontest[ERROR]at org . TestNG . XML . XML class . load class(XML class . Java:81)[ERROR]at org . TestNG . XML . XML class . init(XML class . Java:73)[ERROR]at org . TestNG . XML . XML . XML class .(XML class . Java:59)[ERROR]at org . TestNG . XML . testngcontent handler . startelement(testngcontenthandler . Java:546)[ERROR]at com . sun . org

这就是所发生事件的全部痕迹。问题(如我所见)与以下几行有关:

[错误]无法在项目自动化上执行目标 org.apache.maven.plugins:maven-surefire-plugin:2.19:test (default-test):执行目标的默认测试org.apache.maven.plugins:maven-surefire-plugin:2.19:test failed:分叉进程中出现错误 [错误] org.testng.TestNGException: [错误] [错误] 在类路径中找不到类:com.。qa.automation.roles.SuperAdminCreateCouponTest

我已经尝试验证类路径条目,并且存在sureFire插件。在这两种情况下,它们都在它们应该在的地方。我尝试过一次提交一个文件,这是有效的。只有当我构建时,我才遇到问题,它阻止了我完全运行自动化。

我猜这个问题可能很容易解决,但Java/Eclipse堆栈并不像.NET/C#那样是我的第二天性。

注意:如果有新的信息,我会更新这个问题。

更新:我已经包括了下面的POM:

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
    http://maven.apache.org/xsd/maven-4.0.0.xsd" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    
    xmlns="http://maven.apache.org/POM/4.0.0">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.kryterion.qa</groupId>
    <artifactId>automation</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    <name>automation</name>
    <url>http://maven.apache.org</url>
       <properties>
          <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
          <skipTests>false</skipTests>
       </properties>
 <dependencies>
    <dependency>
       <groupId>org.testng</groupId>
       <artifactId>testng</artifactId>
       <version>6.9.9</version>
    </dependency>
    <dependency>
       <groupId>log4j</groupId>
       <artifactId>log4j</artifactId>
       <version>1.2.17</version>
    </dependency>
    <dependency>
       <groupId>org.seleniumhq.selenium</groupId>
       <artifactId>selenium-java</artifactId>
       <version>2.48.2</version>
    </dependency>
    <dependency>
       <groupId>org.seleniumhq.selenium</groupId>
       <artifactId>selenium-firefox-driver</artifactId>
       <version>2.48.2</version>
    </dependency>
    <dependency>
       <groupId>org.seleniumhq.selenium</groupId>
       <artifactId>selenium-chrome-driver</artifactId>
       <version>2.48.2</version>
    </dependency>
    <dependency>
       <groupId>org.seleniumhq.selenium</groupId>
       <artifactId>selenium-server</artifactId>
       <version>2.48.2</version>
    </dependency>
    <dependency>
       <groupId>mysql</groupId>
       <artifactId>mysql-connector-java</artifactId>
       <version>5.1.37</version>
    </dependency>
    <dependency>
       <groupId>com.google.inject</groupId>
       <artifactId>guice</artifactId>
       <version>3.0</version>
    </dependency>
    <dependency>
       <groupId>net.sourceforge.jexcelapi</groupId>
       <artifactId>jxl</artifactId>
       <version>2.6.12</version>
    </dependency>
    <dependency>
       <groupId>org.apache.poi</groupId>
       <artifactId>poi</artifactId>
       <version>3.10-FINAL</version>
    </dependency>
    <dependency>
       <groupId>org.uncommons</groupId>
       <artifactId>reportng</artifactId>
       <version>1.1.4</version>
    </dependency>
    <dependency>
       <groupId>org.apache.velocity</groupId>
       <artifactId>velocity</artifactId>
       <version>1.7</version>
    </dependency>
    <dependency>
       <groupId>org.apache.derby</groupId>
       <artifactId>derby</artifactId>
       <version>10.11.1.1</version>
    </dependency>
    <dependency>
       <groupId>org.mybatis</groupId>
       <artifactId>mybatis</artifactId>
       <version>3.2.8</version>
    </dependency>
    </dependencies>
    <build>
       <finalName>automation</finalName>
    <plugins>
       <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.3</version>
          <configuration>
             <source>1.8</source>
             <target>1.8</target>
             <showDeprecation>true</showDeprecation>
          </configuration>
       </plugin>
       <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>2.19</version>
          <configuration>
             <skipTests>${skipTests}</skipTests>
             <systemPropertyVariables>
                <environment>${envName}</environment>
             </systemPropertyVariables>
             <suiteXmlFiles>
                <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
             </suiteXmlFiles>
         </configuration>
       </plugin>
    </plugins>
 </build>
<reporting>
   <plugins>
   <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-report-plugin</artifactId>
      <version>2.16</version>
   </plugin>
   <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>cobertura-maven-plugin</artifactId>
      <version>2.7</version>
   </plugin>
   <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-changelog-plugin</artifactId>
      <version>2.2</version>
         <configuration>
            <issueLinkUrl>http://prodjira01:8080/browse/%ISSUE%</issueLinkUrl>
         </configuration>
   </plugin>
   <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-javadoc-plugin</artifactId>
      <version>2.9.1</version>
   <configuration>
      <show>private</show>
      <additionalparam>${javadoc.doclint.none}</additionalparam>
   </configuration>
   </plugin>
   <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-jxr-plugin</artifactId>
      <version>2.3</version>
   </plugin>
   <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-pmd-plugin</artifactId>
      <version>3.4</version>
   <configuration>
      <linkXRef>true</linkXRef>
      <source>1.8</source>
      <targetJdk>1.8</targetJdk>
   <rulesets>
      <ruleset>/rulesets/java/basic.xml</ruleset>
      <ruleset>/rulesets/java/braces.xml</ruleset>
      <ruleset>/rulesets/java/design.xml</ruleset>
   </rulesets>
</configuration>
   </plugin>
   <plugin>
      <groupId>org.codehaus.mojo</groupId>
      <artifactId>taglist-maven-plugin</artifactId>
      <version>2.4</version>
<configuration>
   <tagListOptions>
   <tagClasses>
   <tagClass>
      <displayName>Todo</displayName>
   <tags>
   <tag>
      <matchString>todo</matchString>
      <matchType>ignoreCase</matchType>
   </tag>
   <tag>
      <matchString>FIXME</matchString>
      <matchType>ignoreCase</matchType>
   </tag>
   <tag>
      <matchString>NB</matchString>
      <matchType>exact</matchType>
   </tag>
   </tags>
</tagClass>
<tagClass>
   <displayName>Deprecated</displayName>
   <tags>
   <tag>
      <matchString>@deprecated</matchString>
      <matchType>ignoreCase</matchType>
   </tag>
</tags>
</tagClass>
</tagClasses>
</tagListOptions>
</configuration>
</plugin>
<plugin>
   <groupId>org.codehaus.mojo</groupId>
   <artifactId>findbugs-maven-plugin</artifactId>
   <version>3.0.0</version>
<configuration>
   <xmlOutput>true</xmlOutput>
   <!-- Optional directory to put findbugs xdoc xml report -->
   <xmlOutputDirectory>target/site</xmlOutputDirectory>
</configuration>
</plugin>
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-checkstyle-plugin</artifactId>
<configuration>
<configLocation>config/sun_checks.xml</configLocation>
</configuration>
</plugin>
</plugins>
</reporting>
</project>

@sircapsalot -我按照您的建议做了以下更改,结果是:

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

突然开始在所有有这些导入的类中抛出警告。想法?

共有2个答案

车明贤
2023-03-14

所以,我想出了问题…原来,这是PEBKAC的问题。

我将昨天更改的文件重命名回其原始状态,现在一切都很好。感谢那些参与帮助解决此问题的人!

司徒宏远
2023-03-14

根据Maven Central的说法,您请求的版本不存在。(您正在请求 org.testng:testng:jar:5.14.3)

尝试在pom.xml中更新到最新版本:6.9.10

<dependency>
    <groupId>org.testng</groupId>
    <artifactId>testng</artifactId>
    <version>6.9.10</version>
</dependency>
 类似资料:
  • 我遇到一个问题,IntelliJ13.1.4在运行单元测试时,在模块的目录中找不到文件。 在回答之前请注意,我已经完成了以下所有操作: 该模块是一个分级项目,如果我运行,单元测试运行良好。 我过去在IntelliJ中成功地运行了这个单元测试,它找到了模块。(也许是Intellij的早期版本?) 我已经检查了IntelliJ模块设置,并且目录被标记为测试资源目录。(见下面的截图。) 我正在类中转储单

  • 我正在执行Java-Eclipse-TestNG,但在使用testng命令行运行测试时遇到了困难。我有多个源文件夹,当创建。class文件时,它们将转到/bin目录,文件夹结构与/src相同,如下所示。我已经设置了类路径(使用导出classpath=...)并尝试运行“java org.testng.testng testng.xml”,但它给我的结果是“不能在类路径中找到类:testcases.

  • 我下载并反编译了minecraft插件的jar文件,并通过创建一个新的java项目Import将其添加到eclipse中 这导致了: 之后,我更改了一行代码,然后尝试导出它。 我不知道我该怎么做来解决这个问题。请帮忙。

  • 问题内容: 我在JBoss 4.3-eap上部署带有捆绑的war,jar和配置文件(.properties文件)的耳朵时遇到问题。这是我的耳朵结构: 我的jboss-app.xml中包含以下内容: 我的application.xml看起来像这样: 基本上,在部署耳朵时,我遇到了一个问题,其中我的一场大战无法在文件(r)中找到类。我认为这是由于战争没有找到该库,即使它在文件夹/ classpath中

  • 在尝试学习如何使用storm时。我决定编译我自己的著名WordCount拓扑实例,看看它是如何实现的。代码与示例完全相同。(https://github.com/apache/storm/blob/master/examples/storm-starter/src/jvm/org/apache/storm/starter/WordCountTopology.java) 然而,每当我尝试运行jar时

  • 在彻底搜索了这些论坛寻找答案后,我找不到一个类似于我的案例。 在使用maven生成WAR filer并部署我的服务器之后,每次我向需要创建DAO的API发送GET请求时,我都会在服务器控制台收到以下警告: 在类路径中找不到任何meta-inf/persistence.xml文件 和以下例外情况: 没有名为mim_ajuda的EntityManager的持久性提供程序 在进一步讨论之前,我已经搜索了