category: Java
DATE : 2006/04/02 (Sun)
DATE : 2006/04/02 (Sun)
JUnit という、単体テストを行うフレームワークがあります。また、Java SE 5 からは、列挙型が導入されました。
Java の列挙型は型の保証や名前空間があってとても便利です。また、メソッドも定義できるため、多態性も容易に実現できます。
しかし、列挙型を JUnit でテストしようとした時にはたと困ってしまいました。
列挙型に定義したメソッドは通常通りにテストできます。しかし、列挙型定数の数が増えた場合には、未テストの定数が出てしまいます。もちろん、列挙型定数の数が増える前に、増えた分のテストコードを書けば問題ないのでしょうが、それを忘れてしまう可能性もあります。
そこで、列挙型のテストクラスには、列挙型定数の数をテストするコードを書くようにしました。
具体的には、次の1行をテストコードに追加します。なお、列挙型定数が4つある列挙型 EnumExample をテストすることを想定しています。
assertEquals(4, EnumExample.values().length());
values メソッドを使うと、EnumExample 内の列挙型定数が配列として定義順に返されます。この配列の要素数を利用することで、列挙型定数の数をテストするわけです。
参考文献
PR
●この記事にコメントする
忍者ブログ [PR]