JenkinsでVSTestを走らせる(ASP.NET)。
ポイント
- MSTestとVSTestは別のもの
- nugetで接続できないときはProxyの設定を疑う
- VSTest Runnerは使えない
- カバレッジはVisual StudioのEnterpriseエディション以上
ざっくり
ビルドは普通にMSBuildで行う。VSTestではテスト結果は自動でファイル名を命名する。また、VSTest RunnerはなんかばぐってるぽいのでWindowsバッチコマンドで実行する。さらにテスト結果はファイル名が自動で振られるので、テスト結果を発行するために、Windowsバッチコマンドでテスト結果ファイルをリネームする。
詳細
MSTestとVSTestは別のもの
良く出回っているのはMSTestのエントリ。テスト実行結果のファイル名が指定できるとか、Runnerの設定とか出てるけど、違う。VSTestではテスト実行結果のファイル名は指定できない。VSTest Runnerはばぐってるので使えない。
nugetで接続できないときはProxyの設定を疑う
buildが全然終わらずに接続できないときはProxyが悪さしている可能性がある。nugetコマンドでプロキシを設定するとnuget.configというファイルができる。
VSTest Runnerは使えない
VSTest RunnerはテストのDLLが見つからないというエラーになるので、使わないのが吉。
カバレッジはVisual StudioのEnterpriseエディション以上
カバレッジもネットでサンプル出てるけど、これはEnterpriseエディション以上なので、Professionalの人はあきらめましょう。