UnitTest が追加できない、一応解決したけどこれでいいのか? | あさぼんの3Dプリンタ奮闘記

あさぼんの3Dプリンタ奮闘記

40代のサラリーマンです。
3Dプリンタやプログラミングで苦労していることを書いていこうと思います。

今日も GitHub というか Visual Studio の話です。

 

asabon/PFD_Editor (github.com)

でちょっとしたアプリを公開しています。

 

今はこのリポジトリを使って「開発環境の整備」をやってます。

 

GitHub Actions を使って、プルリク発行&更新時に以下の処理を自動実行したいです。

  • UnitTest が自動実行されること
  • 実行された UnitTest の結果がわかること
  • UnitTest 実行時のコードカバレッジが自動的に測定されること
  • 測定結果がプルリクのコメントに記載されること
で、とりあえずここまではできるようになりました。
 
現在オープンなプルリクはこれ。
 
まぁ、やりたいことはできているので、あとは UnitTest を追記していって、
カバレッジを上げていくことが目標です。
 
なんですが、実際にテストと追加していくとおかしなことに気づきました。
UnitTest プロジェクトにおいて、
  • テスト対象のクラスごとにテストコードのファイルを分離したい
と考えているのですが、
  • テストコードのファイルを追加しても、GitHub Actions の UnitTest に反映しない
という症状に気づきました。
ローカルで実施している UnitTest では追加したファイルは認識されており、
同じプロジェクトファイルが GitHub に commit, push されているのに、
一体これはどういう状態なんだろう?と。
 
Visual Studio のソリューションファイル、プロジェクトファイルの構成はこんな感じ。
 
+ PFD_Editor/
    + PFD_Editor.sln
    + PFD_Editor/
        + PFD_Editor.csproj
    + UnitTestProject/
        + UnitTestProject.csproj
 
で、 Visual Studio の GUI から UnitTestProject にテストコードのファイルを追加すると、
GUI 上ではファイルは追加され、実行したUnitTestではテストが検出され実行されているのに、
UnitTestProject.csproj をテキストエディタで開いてみると、どうも、
  • UnitTestProject.csproj に追加したファイルが登録されていない
ということに気づきました。
このファイルに登録されていなかったらローカルでも認識しなさそうな感じなのに、
なんで「ローカルでは認識する」のに、「GitHub Actionsでは認識されない」のか。
そもそも GUI での操作が何で UnitTestProject.csproj に反映されないのか?不明です。
 
とりあえず、UnitTestProject.csproj をテキストエディタで編集して、ファイルを登録したら
GitHub Actions の UnitTest 実行時に、追加したファイルが認識されるようになったので、
「解決した」と言えなくもないですが、なんだか正しい対応ではないような気がしていて、
気持ち悪い感じです。
 
同じような症状の方とか、詳しい方がいたら教えてほしいです・・・。