C# で作成した .NET アプリケーションのコードカバレッジを、AppVeyor と Codecov で計測します。
環境
- Visual Studio 2017
事前準備
C# の場合、コードカバレッジ自体は OpenCover を使って計測し、Codecov にはレポートを渡すだけになります。
OpenCover を使用したカバレッジ計測については以下の記事を参考にしてください。
また、AppVeyor と Codecov へのリポジトリの登録は済んでいる前提です。
実行方法
Codecov へのレポート出力について、C# でのやり方は以下で説明されています。
やり方はいろいろあるみたいですが、主に codecov
というツールのインストール方法が違うようです。
とりあえず作成した appveyor.yml
は以下です。
image: Visual Studio 2017
configuration: Release
before_build:
- nuget restore
build:
parallel: true
project: MyApplication.sln
test_script:
# OpenCover でカバレッジを計測
- OpenCover.bat vstest.console.exe "coverage.xml"
# Codecov へカバレッジ結果を渡す
- "SET PATH=C:\\Python34;C:\\Python34\\Scripts;%PATH%"
- pip install codecov
- codecov -f "coverage.xml"
OpenCover でのカバレッジ計測はローカルでもできるようにバッチファイル化しています。OpenCover.bat
の内容自体は以前の記事を参考にしてください。
第1引数で vstest のパスを指定しますが、AppVeyor ではパスが設定されているのか、vstest.console.exe
だけで実行可能です。
第2引数は出力ファイル名です。
codecov
は NuGet でもインストール可能ですが、ローカルで実行しないのであればわざわざ NuGet でインストールするメリットもないかなと思うので、Python でインストールして実行しています。