2

私は、junitテストのすべてのメンバー変数がパッケージprivateとして宣言されているプロジェクトに取り組んでいます。

例えば ​​:

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 に答える