【问题标题】:What is the recommended way to integrate Hamcrest into Eclipse's JUnit?将 Hamcrest 集成到 Eclipse 的 JUnit 的推荐方法是什么?
【发布时间】:2010-11-08 09:00:18
【问题描述】:

是否有推荐的方法将 Hamcrest 集成到 Eclipse 中的 JUnit 配置中?目前 Eclipse 的 JUnit 仅带有 Hamcrest-core。我想编辑该配置以包含 Hamcrest-all。我该怎么做?

【问题讨论】:

    标签: eclipse configuration junit hamcrest


    【解决方案1】:

    我在使用 hamcrest-all 和 junit-dep 时遇到问题 - 然后您需要 jMock、easymock 和 ant.tasks

    如果您只需要更多匹配器,请添加 hamcrest-library(以及您从 Eclipse 获得的 junit 和 hamcrest 核心)

    这个问题不应该有“hamcrest”标签吗?

    【讨论】:

    • 创建问题 IIRC 时标签不存在。我现在已经添加了。感谢您的建议。
    • 发布此内容后,我遇到了这种方法的问题。我得到一个安全异常。显然这是因为 Eclipse hamcrest-core 已签名,但我添加的 hamcrest-library 未签名。据说解决方案是将未签名的第一个放在构建路径中,但这并没有为我解决。
    【解决方案2】:

    JUnit 分为两个 distributions:带 Hamcrest (junit-4.6.jar) 和不带 Hamcrest (junit-dep-4.6.jar)。如果我正确理解您的问题,您需要在 JUnit 配置中指定 junit-4.6.jar。我认为在 Eclipse 中是可能的(我使用另一个 IDE)。

    【讨论】:

    • 在我看来,JUnit 只包含 hamcrest-core,而我正在尝试将 hamcrest-all 集成到 Eclipse 中。
    • 你是对的。可能您可以使用 hamcrest-all.jar 中的嵌入式类构建自己的 junit.jar,并用它替换 JUnit eclipse 插件中的 junit.jar。我不确定这是个好主意,但你可以试试。
    • 是的,我相信这会奏效,但我不认为这是“推荐”的做法。 :)
    【解决方案3】:

    没有什么可以阻止您将 hamcrest 作为 JAR 添加到 Eclipse 项目的构建路径中。如果有一个与 eclipse 一起打包的(我没有意识到有,但很公平),那么它只是为了方便。

    【讨论】:

    • 是的,我总是可以将它作为一个库添加,但我希望找到一种方法将它嵌入到 JUnit 的配置中,以便它自动添加到所有(现有和新的)使用 JUnit 的项目中.
    • 这实际上不起作用。 Hamcrest 添加了一些 JUnit 提供的相同类,从而导致 SecurityExceptions。
    猜你喜欢
    • 2013-12-23
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多