Java 在junit测试中打包私有成员变量

Java 在junit测试中打包私有成员变量,java,unit-testing,junit,Java,Unit Testing,Junit,我正在从事一个项目,其中junit测试的所有成员变量都声明为包私有 例如: public class MyTest { MyObject someObject; @Before public void setUp() throws Exception { someObject = new MyObject(); } } 而不是: public class MyTest { private MyObject someObject;

我正在从事一个项目,其中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();
    }
}

我知道最初编写测试的那个人一般都很有知识,参加过很多会议,读过很多书。所以我想知道他可能是从哪里学来的,这背后的原因是什么

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


我想说在这种情况下,你最好保密。但是如果看不到代码的其余部分,就很难说了。如果它是从别处使用的,那么您可能会考虑创建一个基础测试类,其他测试扩展以捕获一些常见的功能。在这种情况下,您会给出一个名称来反映它的用途。

someObject字段是否被其他类在其他地方使用?否,他对所有成员变量都这样做。为什么不询问编写此字段的开发人员?我投票以“非建设性”结束此问题。并没有明确的正确答案,所以关于这个特定开发人员为什么选择这样做的争论将接踵而至。我建议您按照@Learner的建议,与相关开发人员讨论。我们使用相同的IDE,因此不,这绝对是有意为之,任何地方都没有使用继承。有时您可以在开发人员级别更改这些内容。例如,我们可以共享同一个IDE,但出于不兼容的原因,我倾向于使用私有的final字段。在这种情况下,我还是坚持用私人的方式。包private可能导致两个类之间的依赖关系,而您可能不需要它。