コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity Test Runner をバッチモードで実行する時にカテゴリで絞り込みする方法

概要 Unity.exe ^ -batchmode ^ -runEditorTests ^ -projectPath "【Unity プロジェクト】" ^ -editorTestsCategories "【カテゴリ名】" ^ -editorTestsResultFile "results.xml" -editorTestsCategories でカテゴリ名を指定する using NUnit.Framework; pub…

【Unity】Unity Test Runner をバッチモードで実行する時にテスト名で絞り込みする方法

概要 Unity.exe ^ -batchmode ^ -runEditorTests ^ -projectPath "【Unity プロジェクト】" ^ -editorTestsFilter "【関数名】" ^ -editorTestsResultFile "results.xml" -editorTestsFilter で関数名(部分一致)を指定する 参考サイト様

【Unity】Unity Test Runner のウィンドウをスクリプトから開く方法

概要 using System.Reflection; using UnityEditor; internal static class Example { [MenuItem( "Tools/Example" )] private static void Hoge() { var assembly = Assembly.Load( "UnityEditor.TestRunner" ); var type = assembly.GetType( "UnityEditor…

【Unity】Unity Test Runner の終了コードを受け取る方法

概要 start /WAIT "" "Unity.exe" ^ -batchmode ^ -runEditorTests ^ -projectPath "【Unity プロジェクト】" ^ -editorTestsResultFile "results.xml" echo %ERRORLEVEL% 上記のようなコマンドを実行すると %ERRORLEVEL% で終了コードを受け取れる 0: テス…

【Unity】Unity Test Runner の開始終了を検知する方法

概要 using UnityEditor; using UnityEditor.TestTools.TestRunner.Api; using UnityEngine; [InitializeOnLoad] internal sealed class Example : ICallbacks { static Example() { var api = ScriptableObject.CreateInstance<TestRunnerApi>(); api.RegisterCallbacks( n</testrunnerapi>…

【Unity】Unity Test Runner をスクリプトから実行する方法

概要 using UnityEditor; using UnityEditor.TestTools.TestRunner.Api; using UnityEngine; internal static class Example { [MenuItem( "Tools/Run Play Mode" )] private static void RunPlayMode() { RunTests( TestMode.PlayMode ); } [MenuItem( "Too…

【Unity】アセットバンドル名が存在するかどうか確認するテストコード

概要 using NUnit.Framework; using System.Linq; using System.Text; using UnityEditor; public static class Example { [Test] public static void CheckAssetBundleNames() { var list = AssetDatabase.GetAllAssetBundleNames(); var isExist = list.An…

【Unity】アセットバンドル名が設定されているアセットが存在するかどうか確認するテストコード

概要 using NUnit.Framework; using System.Linq; using System.Text; using UnityEditor; public static class Example { [Test] public static void CheckAssetBundleNamedAssets() { var list = AssetDatabase.GetAllAssetPaths() .Select( c => new { as…

【Unity】各プラットフォームにおいてコンパイルエラーが発生しないか確認できるテストコード

検証環境 Unity 2019.3.0f6 ソースコード 上記のスクリプトを Unity プロジェクトの Editor フォルダに追加します 使用例 using UnityEngine; public class Example : MonoBehaviour { private void Awake() { #if UNITY_ANDROID ここでコンパイルエラー #en…

【Unity】Unity Test Runner のテストをカテゴリ分けする方法

概要 using NUnit.Framework; public class Example { [Test] [Category( "ポケモン/ピカチュウ" )] public void Test1() { } [Test] [Category( "ポケモン/カイリュー" )] public void Test2() { } } Category属性を使用することで Unity Test Runner のテ…

【Unity】Unity Test Runner のテストに説明をつける方法

概要 using NUnit.Framework; [Description( "ピカチュウ" )] public class Example { [Test] [Description( "カイリュー" )] public void Test1() { } } Description 属性をクラスや関数に適用することで テストに説明をつけることができます

【Unity】Audio が無効かどうかテストするスクリプト

ソースコード

【Unity】削除済みのシーンが Scenes In Build に登録されていないかどうかテストできるコード

概要 削除済みのシーンが Scenes In Build に登録されていないかどうかテストできます

【Unity】Unity Test Runner で EditMode 用のテストスクリプトを準備する方法

方法1 Unity プロジェクトの「Editor」フォルダを右クリックして 「Create > Testing C# Test Script」を選択すると EditMode 用のテストスクリプトを準備できる 方法2 「Test Runner」ウィンドウで「Create EditMode Test Assembly Folder」を選択してから …

【Unity】2D のシーンで Skybox Material が設定されていないかどうかテストできるコード

概要 2D のシーンで Skybox Material が設定されていないかどうかテストできます

【Unity】Animator Controller の Motion が null になっていないかどうかテストできるコード

概要 Animator Controller の中のいずれかのステートの Motion が null になっていないかどうかテストできます

【Unity】Audio Listener が複数存在しないかどうかテストできるコード

概要 Unity 標準のオーディオ機能を使用しているプロジェクトで Audio Listener が1つのシーンに複数存在しないかどうかテストできます

【Unity】iOS 用のプラグインの対象プラットフォームが適切かどうかテストできるコード

概要 「Plugins」フォルダ内の「iOS」フォルダに含まれているプラグインの 対象プラットフォームに Android が設定されていないかどうかテストできます 参考サイト様

【Unity】Android 用のプラグインの対象プラットフォームが適切かどうかテストできるコード

概要 「Plugins」フォルダ内の「Android」フォルダに含まれているプラグインの 対象プラットフォームに iOS が設定されていないかどうかテストできます 参考サイト様

【Unity】2D のシーンで Global Illumination が無効になっているかどうかテストできるコード

概要 2D のシーンで Global Illumination の機能が 無効になっているかどうかテストできます 関連記事

【Unity】モバイル用のシェーダがマテリアルに設定されているかどうかテストできるコード

概要 Unity 標準の軽量なモバイルシェーダに置き換えられるシェーダが 使用されているマテリアルが存在しないかどうかテストできます 参考サイト様

【Unity】加速度センサーが無効になっているかどうかテストできるコード

概要 加速度センサーを使用しないプロジェクトにおいて 加速度センサーが無効になっているかテストできます 関連記事

【Unity】Unity Test Runner で実行できる汎用的なテストを 20 個以上まとめた「UniCommonTestRunner」を GitHub に公開しました

はじめに Unity Test Runner で実行できる汎用的なテストを 20 個以上まとめた 「UniCommonTestRunner」を GitHub に公開しました 目次 はじめに 目次 バージョン 使い方 実行できるテストの種類 加速度センサーが無効になっているか Android 用のプラグイン…

【Unity】2018.3 で Missing References が検出できなくなった時の対処方法

はじめに using System.Linq; using UnityEditor; using UnityEngine; public static class Example { [MenuItem( "Tools/Hoge" )] private static void Hoge() { var go = Selection.activeGameObject; var components = go .GetComponents<Component>() .Where( c => </component>…

【Unity】Unity Test Runner がコマンドラインから実行できなかった場合に考えられる原因

概要 -quit を付与してしまっている可能性がある 正 Unity.exe -batchmode -runEditorTests 誤 Unity.exe -quit -batchmode -runEditorTests 参考サイト様