📝

.NET MAUIアプリの単体テストを実行してもテストが実行されない場合

2023/03/26に公開

はじめに

MAUIのプロジェクトで単体テストを作成したとき、テストを実行しても未実行のまま完了してしまった場合の対処について
※ 2023年3月26日現在の情報のため、いずれアップデートで状況変わるかもしれません

環境

Microsoft Visual Studio Community 2022 (64 ビット) - Current Version 17.5.1
MSTest 2.2.8

問題

テストを実行しても未実行のままテストが完了してしまう
テストが実行されない

変更箇所

プロダクションコード側のプロジェクト修正

  1. TargetFrameworksに使用している.netのバージョンを追加する
<TargetFrameworks>net7.0-android;net7.0-ios;net7.0-maccatalyst</TargetFrameworks>
↓
<TargetFrameworks>net7.0;net7.0-android;net7.0-ios;net7.0-maccatalyst</TargetFrameworks>

1

  1. OutputTypeで手順1で追加したバージョン以外の場合になるように設定
<OutputType>Exe</OutputType>
↓
<OutputType Condition="'$(TargetFramework)' != 'net7.0'">Exe</OutputType>

2

テストプロジェクト側のプロジェクト修正

TargetFrameworkに使用している.netのバージョンを設定する

<TargetFramework>net7.0-android</TargetFramework>
↓
<TargetFramework>net7.0</TargetFramework>

1

テストコード側でMAUIのAPIを使用する場合

プロジェクトファイルに「UseMaui」を追加
1

参考

https://stackoverflow.com/questions/72993478/program-does-not-contain-a-static-main-method-suitable-for-an-entry-point-in

Discussion