データベースに格納されている主キーを持つクラスがあります。クラスの新しいインスタンスを作成するときは、HSQLDBデータベースからフェッチするか、データベースにないアイテムの場合はプライマリキーを除くすべてを挿入し、これを自動生成してクラスに戻してid属性を設定します。次に、このIDを取得するgetID()メソッドがあります。自動生成キーを使用してデータベース項目のJUnitテストを作成する
生成されたIDがgetID()メソッドによって返されるものであることを確認するJUnitテストを作成しようとしていますが、コンストラクタ内でIDを取得するために 'CALL IDENTITY'これは0を返します。生成されたIDを保証する最良の方法は、getID()メソッドによって返されたIDと同じですか?
私はもっとクラスのgetID()メソッドをテストしようとしています。このIDはデータベースによって生成されるので、単にインスタンス化するように指定したものだけをチェックすることはできません。 – Haegin
@Haegin - 私はゲッターを明示的にテストしません。私は振る舞いをテストしようとします(これはゲッターで見ることができます)。すべての 'getID()'が 'private'フィールドを返すのであれば、テストは本当に書く価値がありません。あなたのシステムの動作は確実に永続化されたオブジェクトに依存すべきではありません。 –