【问题标题】:What JUnit5 jar files are needed? (IntelliJ)需要哪些 JUnit5 jar 文件? (智能)
【发布时间】:2021-04-23 01:34:49
【问题描述】:

TLDR:我是 Java 世界的新手。我如何知道在我的 JUnit 目录中包含哪些 .jar 文件而不会在运行测试时收到错误?

所以我正在完成一个班级项目,一直在使用与https://search.maven.org/search?q=g:org.junit.jupiter%20AND%20v:5.7.0 相同的 JUnit5 jar 来运行我的测试。我在运行一些测试时收到了一个奇怪的错误,并决定使用 IntelliJ 附带的工具“将'JUnit5.4'添加到类路径”以查看拉入哪些 .jars 以使其全部工作。我发现使用 Maven 提取的内容与我一直使用的 JUnit 目录中存在的内容存在一些差异。

这些是我一直在使用的 .jar:

  • junit-jupiter-5.7.0.jar
  • junit-jupiter-api-5.7.0.jar
  • junit-jupiter-engine-5.7.0.jar
  • junit-jupiter-migrationsupport-5.7.0.jar
  • junit-jupiter-params-5.7.0.jar

这是我使用 IntelliJ 添加 JUnit5.4 时包含的内容:

  • apiguardian-api-1.0.0.jar
  • junit-jupiter-5.4.2.jar
  • junit-jupiter-api-5.4.2.jar
  • junit-jupiter-engine-5.4.2.jar
  • junit-jupiter-params-5.4.2.jar
  • junit-platform-commons-1.4.2.jar
  • junit-platform-engine-1.4.2.jar
  • opentest4j-1.1.1.jar

进一步调查,我发现 JUnit5 由三个“子项目”(Jupiter、Vintage 和 Platform)组成,但是当我通过 IntelliJ 添加 JUnit 时,所有这些 .jar 文件都不包括在内。

  1. 为什么当我使用 IntelliJ 添加 JUnit 时,JUnit 网站上没有包含这么多文件?
  2. 当我通过 IntelliJ(apiguardian-api-1.0.0.jar 和 opentest4j-1.1.1.jar)添加时,有些文件不在 JUnit 网站上。那是怎么回事?
  3. IntelliJ 在添加到类路径时如何确定需要哪些 .jar 文件?它总是相同的文件还是只包含必要的文件?

就像我之前所说的,我是 Java 世界的新手,所以希望我的措辞正确。

【问题讨论】:

  • 什么不起作用?

标签: java maven intellij-idea junit jar


【解决方案1】:

IntelliJ IDEA 将根据您尝试生成的测试添加依赖项。如果您只有 Junit 5 测试,则不需要添加 Junit 的所有部分。如果您需要运行 Junit 4 测试,将添加 vintage-engine。请在此处了解为什么需要 opentest4jhttps://github.com/ota4j-team/opentest4j 关于apiguardianhttps://junit.org/junit5/docs/5.1.0-RC1/release-notes/

【讨论】:

    猜你喜欢
    • 2018-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 2017-10-28
    • 2013-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多