【问题标题】:How does JUnit find tests?JUnit 如何找到测试?
【发布时间】:2016-09-18 13:21:01
【问题描述】:

我假设 JUnit 通过查找带有 @Test 注释的方法找到了测试(在从 junit.framework.TestCase 派生的类中)。但是,我在项目中包含了来自http://256stuff.com/sources/jenkins_hash_java/JenkinsHashTest.java 的测试。代码结构如下:

import junit.framework.TestCase;

public class JenkinsHashTest extends TestCase {
    public void testHashes() {
        ...//this code is run
    }   
}

我已确认测试方法testHashes() 已运行,尽管没有使用@Test 进行注释。如果相关,我将通过gradle test 调用所有这些。

【问题讨论】:

  • JUnit 4 使用注解@Test。 JUnit 3 扩展 TestCase 并运行所有 testXXX 方法。
  • 相关部分是您阅读了 Junit 4 和 3 之间的差异。然后您摆脱了任何带有 Junit3 气味的东西(例如,通过重新处理与 @Test 的扩展关系注释)。

标签: java unit-testing testing junit


【解决方案1】:

你可以参考这个Junit 3 vs Junit 4 Comparison

基本上,在 JUnit 3 中,您需要扩展 junit.framework.TestCase。所有测试用例都需要遵循testXXX 模式。

JUnit 4 消除了这些限制。任何具有零参数公共构造函数的公共类都可以充当测试类。任何需要考虑作为测试方法的方法都应使用@Test 注释进行注释。

【讨论】:

    猜你喜欢
    • 2017-08-30
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 2013-11-04
    相关资源
    最近更新 更多