【问题标题】:Running single JUnit4 test in Eclipse with Maven使用 Maven 在 Eclipse 中运行单个 JUnit4 测试
【发布时间】:2015-12-08 03:30:47
【问题描述】:

在编写测试时,我想单独运行它们。但是,由于我已经从默认的 Eclipse Java 构建器切换到 Maven,所以这不再可能了。观察:

  1. 直到今天我都可以打开一个 JUnit 测试源文件并从工具栏中选择 Run as | JUnit test。在我迁移到 Maven 之前,Eclipse 在需要时构建了单元测试。

  2. 从 Maven 开始,我会得到一个 ClassNotFoundException,以防我之前没有明确编译过测试。如果我选择 POM 并执行Run as | Maven test,我可以绕过它。这将编译测试并运行所有测试。

  3. 如果我现在再次选择单元测试并从工具栏中选择Run as | JUnit test,它将执行测试。

由于这太不方便了,我希望恢复“旧”行为,我认为这应该只是一个配置问题。

我有

我现在要放弃了。

如何进行高效的红绿重构,即一次只运行一个单元测试而不为每个测试添加运行配置?

【问题讨论】:

  • 一般来说这是可能的。我认为您的 Maven/Eclipse 集成存在配置问题。两者(Maven 和 Eclipse)是否使用相同的目标目录(即 .class 文件的存储位置)?
  • @Jan:在 Java 构建文件中,我将“默认输出文件夹”设置为 /target/classes。源文件夹指向那里(/src/main/java、/src/main/resources),但单元测试(src/test/java)指向/target/test-classes。
  • 在我的 POM 中,我删除了特定的目录名称,因此它也构建到 /target/classes 和 /target/test-classes。
  • 您是如何详细“从默认的 Eclipse Java builder 切换到 Maven”的?您是否尝试过 • 创建一个干净的新 Maven 项目 • 将主要/测试源/资源复制到其中 • 相应地调整pom.xml

标签: java eclipse maven unit-testing junit


【解决方案1】:

今天发现 Java Builder 被禁用了:

启用它会返回预期的行为。

【讨论】:

    【解决方案2】:

    这对我有用-

    1. 选择您要运行的测试文件。
    2. 右键单击并打开运行配置。
    3. 现在转到类路径并将 maven 依赖项移动到顶部并应用。

    【讨论】:

      猜你喜欢
      • 2011-12-09
      • 2019-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多