1

私は次のクラスを持っています。

public Task {

    public static Task getInstance(String taskName) {
        return new Task(taskName);
    }

    private Task(String taskName) {
        this.taskName = taskName;
    }
}

Task.getInstance()JMockitを使用してテストしています。private Task()テスト中に、 への呼び出しが実際に行われたことを確認する必要があります。テスト フィクスチャ オブジェクトでメソッドの実行を検証するために以前にブロックを使用しVerificationsましたが、ここではそれがありません。

4

2 に答える 2

0

通常、プライベート メソッドの呼び出しをテストする必要はないと思います。

重要なのは、入力が適切な出力を与えることです。私は通常、テストがブラックボックスであることを期待しています。つまり、実装を変更できますが、コンポーネントは同じ入力に対して正しい出力を返します。

プライベート メソッドなどをテストすると、テストはリファクタリングに対して非常に敏感になり、メイン コードのリファクタリングと共にテストをリファクタリングする必要があるため、回帰テストとしての機能が制限されます。

于 2013-07-17T15:00:53.203 に答える