【问题标题】:Use method across all Junit Test classes在所有 Junit 测试类中使用方法
【发布时间】:2021-02-26 01:35:08
【问题描述】:

我需要创建下面的方法,我需要在我的所有测试类(位于不同的包中)中使用该方法。如何使该方法可用于所有测试类。有什么有效的方法吗?我正在使用 Junit 5 和 Mockito。

public  TodosObject getObject() {
    TodosObject todosObject= new TodosObject()
    // setter ommitted for brevity

    return todosObject;
}

【问题讨论】:

  • 有什么原因不能使用抽象基类吗?
  • @chrylis-cautiouslyoptimistic-nope。我只是想知道 junit5 是否提供了“特别的东西”。我是新手
  • 例如,您可以编写自己的扩展程序并在每个具有特殊注释的测试之前或之后执行“某些操作”。我们这样做:我们有一个特殊的注释@DbTest,当它存在时,在每个这样的方法之前和之后都会执行某些操作。这就是你所追求的吗?
  • 为什么不在自己的类中编写该方法并在单元测试中使用该类?

标签: java unit-testing testing junit mockito


【解决方案1】:

一种常见的方法是将方法放在所有测试类都扩展的类中。示例:

public class TodosTest {
    protected TodosObject todosObject;

    @BeforeEach
    void setup() {
        todosObject = new TodosObject();
        // setter ommitted for brevity
    }
}

public class MyTodosTest extends TodosTest {
    @Test
    void testWithTodos() {
        // access todoObject here...
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 2019-06-23
    • 1970-01-01
    • 2023-03-25
    • 2014-01-07
    • 2012-03-30
    相关资源
    最近更新 更多