2

我正在开发一个项目,其中 junit 测试的所有成员变量都被声明为包私有。

例如 :

public class MyTest {

    MyObject someObject;

    @Before
    public void setUp() throws Exception {
        someObject = new MyObject();
    }
}

代替 :

public class MyTest {

    private MyObject someObject;

    @Before
    public void setUp() throws Exception {
        someObject = new MyObject();
    }
}

我知道最初编写测试的那个人知识渊博,参加了很多会议,读过很多书。所以我想知道他可能是在哪里捡到这个的,这背后的理由是什么?

4

1 回答 1

0

这可能是一种风格,就像其他任何东西一样。有些人倾向于默认情况下将其设为私有,然后根据需要打开范围。也许他使用的IDE默认打包私有。真的很难回答为什么有人会那样做。

我会说在这种情况下,你最好将它保密。但是如果没有看到其余的代码,就很难说。如果它是从其他地方使用的,那么也许您会考虑创建一个基础测试类,其他测试扩展它以捕获一些常见功能。在这种情况下,您会给出一个反映其目的的名称。

于 2013-02-03T12:23:07.760 回答