はじめに
Cobertura
を導入しカバレッジを計測しようと思ったのですが、なかなか実行できなかったので、解決するまでに必要な手順をまとめておこうと思います。
環境
- macOS 11.0.1
- VSCode 1.54.3
- JDK 11.0.10
- Cobertura 2.1.1
Homebrew で dos2unix をインストール
dos2unix
はファイルの改行コード(CRLF
-> LF
)に変更するためのコマンドです。
brew install dos2unix
cobertura-instrument.sh をUNIX (LF) 形式に変換
シェルスクリプトはDOS
(CRLF
)形式なので、UNIX
(LF
)形式に変換します。
dos2unix cobertura-instrument.sh
Cobertura でカバレッジを計測の経路を作成
カバレッジの計測を行う、テストクラスを指定
cobertura-instrument.sh Test.class
以下が表示されると成功です。
Cobertura 2.1.1 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file
[INFO] Cobertura: Saved information on 0 classes.
[INFO] Cobertura: Saved information on 0 classes.
さいごに
エラーが発生した際は、cobertura-instrument.sh
のCould not find or load main class
が表示されたため、問題点を理解するのに苦労しました。
まさか、改行コードが悪さをしていたとは思いもしなかったので、次回に同様の問題が起きたときは改善方法の一つとして試してみようと思いました。