|
デフォルトコンストラクタのCoverageReporthttp://works.dgic.co.jp/djwiki/Viewpage.do?pid=@E38387E38395E382A9E383ABE38388E382B3E383B3E382B9E38388E383A9E382AFE382BFE381AE436F7665726167655265706F7274Encoding:UTF-8 / Locale:en_US / PageStatus: Frozen Owner of this page:Guest |
デフォルトコンストラクタのCoverageReportHelloWorldのテストで使用したテストを使用して、もう一度テストを実行してみます。 テスト対象:HelloWorld.java
テストケース:HelloWorldTest.java
このテストを実行すると、
ということが予想できます。 では実行。 ![]() テストは通りました。 次にCoverageReportです。 ![]() 100%になっていません。 HelloWorldのソースを開いてみると ![]() 1行目が未実行と言われています。 これは、コンストラクタのテストが通っていないということを指しています。 今回のテスト対象ソースにコンストラクタは存在しません。 よって、コンパイル時にデフォルトコンストラクタが生成されてclassファイルが出来上がります。 そのclassファイルに対してJCoverageがいろいろと操作を行い、結果的に生成されたデフォルトコンストラクタ部分が未実行になったが、 ソースにマーキングする際にコンストラクタ部分が存在しないため、1行目にマーキングされてしまったのです。 では、先ほどのテスト対象クラスにコンストラクタを加えてみます。
テストを実行すると・・・ ![]() ちゃんとコンストラクタの部分にマーキングされました! ということで、 CoverageReportを100%にするためにはコンストラクタの存在を意識しなければいけない。 ということになります。 |