概要
.NET Core と ASP.NET Core でWebアプリケーションを開発していた時に、.NET Core からxUnit を使いテストを書き、「dotnet test」コマンドを実行してテストをしようとしたら、エラーを含め何も表示されずにテストが実行されませんでした。
No test is available in *.dll. Make sure that test discoverer & executors are registered and platform & framework version settings are appropriate and try again.
このように、エラーではなく実行可能なテストがないという情報が表示されました。
原因
このように表示される原因は、コマンドで開くことができる最大のファイルの数に問題があります。
コマンドで開くことができる最大のファイルの数は、「ulimit -n」コマンドで確認、設定でき、私の環境はmacOSなのですが、「ulimit -n」コマンドを実行すると「256」と表示されました。
これでは、最大で開けるファイルの数が少ないため「dotnet test」でテストが実行できませんでした。
解決方法
そこで、「ulimit」コマンドを使って最大で開けるファイルの数を変更します。
ulimit -n 4096
今回は、4096個までファイルを開けるようにしました。
このままでは、システムを再起動すると設定が戻ってしまい、また設定をし直す必要があります。
なので、再起動しても設定が継続するように、起動時にコマンドを実行するようにします。
echo 'ulimit -n 4096' >> ~/.bash_profile
これで、「dotnet test」の実行時にテストが実行されないということはなくなるはずです。