SlideShare a Scribd company logo
Unity で
Unit な Test を
書いてみた
2016.09.02 (Fri) / Unity 勉強会 #40
株式会社キッズスター CTO
森 哲哉
こんばんは!
"自己紹介が

アホみたいに
長い!"
でお馴染みの
もんりぃです!
ご多分に漏れず
今日も長いです!
今日は
UT
UNIQLO T-Shirt
じゃなくて
Unit Test
の、おはなしです。
おしながき
おしながき
• UnitTest の概要
• UnitTest の準備
• UnitTest の実行
• IntegrationTest について
• まとめ
さて、お待ちかねの
自己紹介
whoami
• 森 哲哉 と申します
• a.k.a: もんりぃ / T: @monry / F: monry84
• 31歳 / ♂ / O型 / 天 座 / 既婚
• 趣味は「お酒」と「合唱」です
whoami
• 大学を (自主的に) 卒業後、ベンチャーを転々
• Web のフロントエンド、サーバサイドが得意
• Unity 歴 3 年くらい
• Cocos2d-x も触ってます
• インフラ (AWS) も、ちょいちょいやってます
• 最近 Ruby on Rails に興味津々
jobs
• 株式会社キッズスター って会社で働いてます
• 未就学児∼小学生のお子さまをお持ちの

ファミリーをターゲットにした、知育/教育に

関わるアプリ・サービスを展開しております
• 「IID 世田谷ものづくり学校」という、

元中学校に入居しております
office
office
office
office
apps
なりきり!!
ごっこランド
パズル&テイルズ

おかしのくにを
つくるのじゃ!!
なりきり!!
アイスクリーム
屋さんごっこ
なりきり!!
ママごっこ
お弁当をつくろう!
おかしの家を
つくろう!
ハンバーガー
やさんごっこ
飛行機を
組み立てよう!
i18n i18n i18n
i18n
ゆかいな
お花屋さん
App Store / Google Play
カテゴリランキング1位
多数獲得!!!
きかんしゃ
トーマスと
パズルで
あそぼう!
キョロちゃん
大冒険
キョロちゃん
海の大冒険
ハローキティズ
ラボ
events
events
events
今度こそ、本題
UnitTest の概要
UnitTest - 概要
• 日本語で言うと「単体テスト」
• 「機能の挙動」テスト
• 「アプリの挙動」テスト
UnitTest - 概要
• 2013年末に AssetStore で公開
• Unity Technologies 謹製
• Unity 5.3 から標準組み込み
• 内部的には NUnit 利用
UnitTest - 概要
• Editor スクリプトとして記述
• using NUnit.Framework;
• [Test] 属性をメソッドに付与
• メソッド可視性は何でも OK っぽい
• namespace も利用可能
UnitTest - 概要
• GameObject (など) のライフサイクルイベント
は呼ばれない
• Awake とか Start は呼ばれない
• Coroutine も使えない
• 基本的に 1メソッド 1Assert が良さそう
UnitTest の準備
UnitTest - 準備
• インストール
• Unity 5.3 未満の人は AssetStore から
• Unity 5.3 以上の人は組み込み済
UnitTest - 準備
• テストスクリプト作成
• [ Menu ] > [ Assets ] > [ Create ] >

[ Editor Test C# Script ]
• Project ビューのコンテキストメニュー

からでも OK
UnitTest - 準備
UnitTest - 準備
• テストスクリプト実装
• 雛形が生成されているので、それに倣う
UnitTest - 準備
• Test Runner 起動
• 専用の Window が用意されている
• [ Menu ] > [ Window ] >

[ Editor Tests Runner ]
UnitTest - 準備
UnitTest の実行
UnitTest - 実行
テストケース一覧
全テスト実行
結果詳細
選択中のテストを実行
失敗したテストのみ実行
テストケースの

フィルタ
UnitTest - 実行
• 正しく準備出来ているテストケースが

Test Runner のテストケース一覧に列挙される
• ウィンドウ左上のボタン押下でテスト実行
UnitTest - 実行
• こんな感じ
UnitTest - 実行
• Fail したテストケースの詳細
UnitTest - 実行
DEMO
おまけ
おまけ - バッチモード
• コマンドラインからもテスト実行できます
• つまり Jenkins とかからも実行できます
• /Applications/Unity/Unity.app/Contents/MacOS/Unity 

-projectPath /path/to/project 

-runEditorTests
• 詳しくはコチラ
おまけ - Integration Test
• 結合試験とか統合試験とか呼ばれる
• 複数の機能の連携を検証する
• まだ標準組み込みにはなっていない
• MultiScene 絡みで難しいのかな?
• Roadmap にも載ってないんだよなぁ…。
• 詳しくはこちら
まとめ
まとめ
• UnitTestsRunner 登場以降、かなり楽に

テストを書けるようになった
• 共通クラスやゲームデータに関するモデルクラス

なんかを書く時は積極的にテスト書こう!
• IntegrationTest もそれなりにヨサソウ
Thank you for

your attention !!
Any Questions ?

More Related Content

PDF
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
PPTX
アプリ開発・運用で楽をするために知っておくべき Unity Services
PPT
タダで始めるテストファースト入門 ~ C# Express + NUnit
PDF
Live2d in unity
PPTX
WebGL入門LT大会資料
PDF
MakeGameWithParticle
PDF
アセット作家になろう! ~作ったキャラクターやスクリプトをアセットストアに出品しよう!~
PPTX
Unity で毎月ゲームを作ってみたお話
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
アプリ開発・運用で楽をするために知っておくべき Unity Services
タダで始めるテストファースト入門 ~ C# Express + NUnit
Live2d in unity
WebGL入門LT大会資料
MakeGameWithParticle
アセット作家になろう! ~作ったキャラクターやスクリプトをアセットストアに出品しよう!~
Unity で毎月ゲームを作ってみたお話

Viewers also liked (9)

PPTX
ゲームエンジニアのためのデータベース設計
PDF
CEDEC2013 ソーシャルゲームの開発現場でUXについて思いっきりあがいてみた1年間の話
PDF
ソーシャルゲームのためのデータベース設計
PDF
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
PDF
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
PDF
テストを書こう、Unity編
PDF
Unityで意外と簡単・・・だけど難しいVRコンテンツ
PDF
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
PDF
サーバーレスの今とこれから
ゲームエンジニアのためのデータベース設計
CEDEC2013 ソーシャルゲームの開発現場でUXについて思いっきりあがいてみた1年間の話
ソーシャルゲームのためのデータベース設計
【17-E-1】自動化はどこに向かうのか~まだ開発・運用の自動化で消耗しているの?~
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
テストを書こう、Unity編
Unityで意外と簡単・・・だけど難しいVRコンテンツ
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
サーバーレスの今とこれから
Ad

Similar to Unity で Unit な Test を書いてみた (11)

PDF
Unity認定試験対策 アップデート -ティーチャートレーニングデイを終えて-
PDF
できる! Unity 2D (vol.2)
PDF
20150216 Unity Hands-on 「できる!Unity 2D」
PPTX
【Unity道場教育スペシャル】Unity認定プログラマー試験の試験範囲と試験対策方法について
PPT
ユニットテスト 1日目
PDF
【Unite2014】Unity Test Tools
PDF
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
PPTX
C#でユニットテストを使う
PPTX
Cstコース発表2021
PDF
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
PDF
【Unite Tokyo 2018】Unityのエデュケーション計画と認定試験+あそびのデザイン講座
Unity認定試験対策 アップデート -ティーチャートレーニングデイを終えて-
できる! Unity 2D (vol.2)
20150216 Unity Hands-on 「できる!Unity 2D」
【Unity道場教育スペシャル】Unity認定プログラマー試験の試験範囲と試験対策方法について
ユニットテスト 1日目
【Unite2014】Unity Test Tools
20150123 第28回 Unity 勉強会「Unity に於けるビルド自動化のおはなし & 設定管理とリソース管理のおはなし」
C#でユニットテストを使う
Cstコース発表2021
Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会
【Unite Tokyo 2018】Unityのエデュケーション計画と認定試験+あそびのデザイン講座
Ad

More from Mori Tetsuya (20)

PDF
GraphView のすゝめ / Introduction of GraphView
PDF
基盤・設計まわりでしくじってしまった話
PDF
2020年版 Unity Package Manager 更新点まとめ
PDF
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
PDF
Future of UniFlow
PDF
Clean Architecture for Unity
PDF
Visual Programming Framework for Unity - UniFlow のご紹介
PDF
Unity ユーザのための Git ハンズオン #2
PDF
Unity 5.3 の In-App Purchase を試してみた
PDF
AssetBundle (もどき) の作り方
PDF
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
PDF
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
PDF
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
PDF
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
PDF
20140822 Swift 勉強会 vol.3 - はぢめての Swift
PDF
Unity に於けるモバイルプラットフォーム向けビルド自動化のおはなし
PDF
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
PDF
20140618 教育・知育アプリのつくりかた
PDF
20140530 Unity に於ける Localization のおはなし
PDF
20140314 Unity勉強会 PostProcessBuild のおはなし
GraphView のすゝめ / Introduction of GraphView
基盤・設計まわりでしくじってしまった話
2020年版 Unity Package Manager 更新点まとめ
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
Future of UniFlow
Clean Architecture for Unity
Visual Programming Framework for Unity - UniFlow のご紹介
Unity ユーザのための Git ハンズオン #2
Unity 5.3 の In-App Purchase を試してみた
AssetBundle (もどき) の作り方
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity に於ける iOS ビルド自動化のおはなし - 20141030 第26回 Unity 勉強会
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
20140822 Swift 勉強会 vol.3 - はぢめての Swift
Unity に於けるモバイルプラットフォーム向けビルド自動化のおはなし
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
20140618 教育・知育アプリのつくりかた
20140530 Unity に於ける Localization のおはなし
20140314 Unity勉強会 PostProcessBuild のおはなし

Unity で Unit な Test を書いてみた