【问题标题】:Is there a general way to mark a JUnit test as pending?有没有一种通用的方法可以将 JUnit 测试标记为待处理?
【发布时间】:2013-01-15 15:41:31
【问题描述】:

在进入 TDD 周期之前,我喜欢勾勒出需要实施的测试——即编写带有说话名称的空测试方法。

不幸的是,我还没有找到“将它们涂成黄色”的方法 - 将它们标记为 JUnit 待处理。我可以让他们要么失败要么通过。现在我通过抛出 Exception 让它们失败,但我宁愿使用 rspec 中的 pending 等效项。

JUnit 或“相邻”库中是否有这样的选项?

【问题讨论】:

  • 我个人使用throw new UnsupportedOperationException("not yet implemented") 作为 eclipse/intellij 模板。

标签: java junit tdd junit4


【解决方案1】:

你可以使用@Ignore忽略测试,

或者这个库引入@PendingImplementation注解:

https://github.com/ttsui/pending

我认为没有其他方法可以实现这一目标..

【讨论】:

  • 谢谢。我将使用 Tony Tsui 的待定库。遗憾的是,JUnit 只提供了“跳过”的语义,但它仍然是最接近的东西
  • +1 在 @Ignore("not ready") 中添加评论会更好
  • @MatthewFarwell 我发现用更少的语义@PendingImplementation 更好,因为它仍然会尝试执行您的测试,并让您知道测试是否真正通过,这会提醒您删除注解。此外,它更具描述性和可搜索性。
【解决方案2】:

您可以使用Assume@Ignore,两者都不是您想要的,但很接近。第三方库pending 也存在。我没有使用它,但似乎可以做你想做的事。

【讨论】:

    猜你喜欢
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    相关资源
    最近更新 更多