【问题标题】:Eclipse (Kepler) runs every new JUnit test with JUnit3 runner instead of Junit4 runnerEclipse (Kepler) 使用 JUnit3 运行器而不是 Junit4 运行器运行每个新的 JUnit 测试
【发布时间】:2014-07-05 16:04:47
【问题描述】:

当我创建一个 JUnit 测试并使用 Run As->JUnit 测试运行它时,Eclipse 总是希望使用 JUnit3 runner 运行该测试。然后我总是必须去运行配置并手动将当前测试设置为 JUnit4 运行器。这绝对令人讨厌。我总是...

没有找到测试运行器“JUnit 3”的测试;

确实,它是一个Android Maven项目,可能Eclipse在项目内运行测试得到了一些错误信息(因为Android使用JUnit 3),但实际上它是否是一个Android项目并且没有配置任何东西都没有关系JUnit 3,没有 Maven 配置,没有构建路径配置。它总是 JUnit4。

我在 Android 上运行了一个普通的 Junit4 测试,那么为什么 Eclipse 总是想用 JUnit3 运行测试呢?我在哪里可以将其默认为 JUnit4?项目的构建路径也包含 JUnit 4.8.2。我没有找到任何可能导致此问题的 Eclipse 配置,并且我无法为所有测试设置通用运行配置,因为每个 JUnit 测试都有自己的运行配置。

【问题讨论】:

    标签: android eclipse maven junit


    【解决方案1】:

    没关系,我升级到没有问题的 Luna。

    【讨论】:

      【解决方案2】:

      这不是要解决的问题。我多年来一直在 Eclipse 上使用 Maven,但从未注意到您遇到的问题。如果您使用的是“Java Developer”版本的 Eclipse “Luna”,那么您可以将您的项目转换为 Maven 项目。转换为 Maven 后,只需将 JUnit 4.11 依赖项添加到您的项目中,然后使用 Maven 刷新/重建项目依赖项。然后,在 Maven 重建依赖项之后,只需进入“构建路径”的项目设置并删除 Junit 3 库,如果它出现在其中。

      因此,使用 Maven,您可以完全控制您的依赖关系。

      【讨论】:

      • 我以前也从来没有遇到过这样的问题。这很奇怪,但它与Maven没有任何关系。这是一个 Eclipse 问题。此外,Eclipse 似乎在 Android Maven 依赖项方面存在问题。我需要手动将一些库添加到构建路径中,尽管这应该由插件处理。另见:stackoverflow.com/questions/23977715/…
      • 我不会那样做的。我会让 Maven 包含你的本地依赖项,这样你就不需要接触 Eclipse 中的项目依赖项。您可以使用 Maven 使用 system 属性和 'systemPath' 属性来完成。
      • 当 some1 签出一个 Maven 项目时,该项目必须能够立即构建,而无需修改本地配置或依赖项。依赖管理正是 Maven 的用途。而且你无法想象我在公司里经常看到这种奇怪的配置。
      • 是的,我完全同意你的看法。如果您需要在本地项目的“libs”目录中包含 .jars,那么 maven 的“system”范围是最好的方法,不会给其他人造成配置地狱。
      猜你喜欢
      • 2011-01-20
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-13
      • 1970-01-01
      • 2014-06-03
      相关资源
      最近更新 更多