Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在mvn测试期间显示错误的完整跟踪_Java_Maven_Junit - Fatal编程技术网

Java 在mvn测试期间显示错误的完整跟踪

Java 在mvn测试期间显示错误的完整跟踪,java,maven,junit,Java,Maven,Junit,当我运行Junit testsmvn test时,它会为给定错误提供以下跟踪: InvalidEmailTest.setUp:45->BasicTest.getAssertedSubElement:461 » StaleElementReference 它向我展示了入口点方法和异常发生的方法。在这两个函数之间调用的每个函数都可能看到相同的东西吗?这将使调试更加容易 它使我的呼叫跟踪看起来像什么: * InvalidEmailTest.setUp * BasicTest.getAsse

当我运行Junit tests
mvn test
时,它会为给定错误提供以下跟踪:

InvalidEmailTest.setUp:45->BasicTest.getAssertedSubElement:461 » StaleElementReference
它向我展示了入口点方法和异常发生的方法。在这两个函数之间调用的每个函数都可能看到相同的东西吗?这将使调试更加容易

它使我的呼叫跟踪看起来像什么:

* InvalidEmailTest.setUp
  * BasicTest.getAssertSubElement
<build>
  <plugins>
    <!-- Others plugins declaration -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <trimStackTrace>false</trimStackTrace>
      </configuration>
    </plugin>
  </plugins>
</build>
它实际上是什么:

* InvalidEmailTest.setUp
  * cHelper.accessSpecificGestion
     * mHelper.goTab
         * mHelper.accessOffice
             * BasicTest.getFirstChildByText
                 * BasicTest.getAssertSubElement

是否有一种方法可以查看每个异常发生在哪一行,这样我就可以准确地指出
mvn测试结果中错误发生的位置?

正如@khmarbaise提到的,您可以在中将属性配置为
false
。您的
build
部分如下所示:

* InvalidEmailTest.setUp
  * BasicTest.getAssertSubElement
<build>
  <plugins>
    <!-- Others plugins declaration -->
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <trimStackTrace>false</trimStackTrace>
      </configuration>
    </plugin>
  </plugins>
</build>

org.apache.maven.plugins
maven surefire插件
假的
如果愿意,还可以通过命令行控制行为:

您可以声明一个属性:

<properties>
  <!-- Others properties declaration -->
  <trimStackTrace>true</trimStackTrace>
</properties>

真的
并用它控制插件:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <trimStackTrace>${trimStackTrace}</trimStackTrace>
      </configuration>
    </plugin>
  </plugins>
</build>

org.apache.maven.plugins
maven surefire插件
${trimStackTrace}

然后,如果您运行
mvn测试
,您将获得默认的修剪输出,或者如果您运行
mvn测试-DtrimStackTrace=false
,您将获得包含详细信息的输出。

尝试
mvn测试--info
您应该配置属性
false
…请参阅不要尝试从surefire中排除一种集成测试,因为这不是maven surefire插件的默认设置。它永远不会执行名为
*IntegrationTest.java
…的测试,所以上面的配置是无用的。@khmarbaise我删除了那个条目,我错误地添加了它。在这种情况下,只需要按照您的建议使用
trimStackTrace