我在 JUnit 测试中重用方法的方式不好吗?

Is my way of reusing methods in JUnit tests bad?

假设我有一个名为 Test.class 的 JUnit class。 Test.class 有大约 50 个 JUnit 测试,在 30 个 JUnit 测试中,这行代码总是出现:

注意:我正在使用 Mockito/PowerMock

when(ConnectionHandler().getConnection()).thenReturn(connection);

我打算创建一个名为 TestUtils.class 的实用程序 class 并为上面的行创建一个私有方法,例如:

public static stubConnection(Connection connection) {
    when(ConnectionHandler().getConnection()).thenReturn(connection);
}

所以不用每次都写下 when(ConnectionHandler().getConnection()).thenReturn(connection);,我可以只写 TestUtils.stubConnection(connection);

这是建议吗?我刚刚在我的 JUnit 测试中看到了很多重复的代码。如果有帮助,我正在测试真正的 class,它具有非常低的内聚力并且非常紧密地耦合。

Is this advised? I just see a lot of repetitive code in my JUnit tests.

当然可以。这是一个单元测试这一事实(几乎)无关紧要,它仍然是您或其他人必须维护的代码。将其封装到实用程序或服务中 class 绝对是朝着正确方向迈出的一步。