このリポジトリは、書籍『Unityバイブル R5夏号』(ボーンデジタル, 2023)のSECTION 06「ゲームプレイの自動テスト」のサンプルプロジェクトです。
書籍は次のWebサイトから購入できます。
プロジェクトは書籍発売以降もメンテナンスされますが、書籍に掲載されているテストコードは極力変更しない方針です。 書籍発売時点のプロジェクトは、tag: r5smrを参照してください。
- Unityエディターでしか動作しません(プレイヤービルドしても動作しません)
- TextMesh Pro Essentialsをトラッキングから外しているので、最初に再生するときにインポートを促すウィンドウが出ます。それに従ってインストールしてください
UnityエディターでAssets/RoguelikeExample/Scenes/Dungeon.unityを開き、再生してください。
- hjklyubnキー:移動
- hjklキーとControlもしくはShiftキー同時押し:高速移動(a.k.a. Run, Dash)
- Spaceキー:進行方向に攻撃、選択肢を決定
- Escapeキー:選択ダイアログをキャンセル
- 左スティック:移動
- 左スティックとEastボタン(ABXYの右側)同時押し:高速移動
- Southボタン:進行方向に攻撃、選択肢を決定
- Eastボタン:選択ダイアログをキャンセル
一部のテストには、次の Category
属性が定義されています。
- IgnoreCI : バッチモードでは動作しないテスト
- Integration : 統合テスト。カバー範囲が広く実行時間もかかるもので、開発者の手元でのテスト実行およびPull Requestやデフォルトブランチへのマージ契機での実行から除外し、夜間などに実行するためにカテゴライズしています
- Validation : アセット・Scene・Prefab・ScriptableObjectなどのバリデーション。失敗したときの通知先が異なる想定でカテゴライズしています
stateDiagram-v2
[*] --> PlayerIdol
PlayerIdol --> PlayerAction
PlayerAction --> EnemyAction
EnemyAction --> EnemyPopup
EnemyPopup --> PlayerIdol: Runでない
EnemyPopup --> PlayerRun: Runのとき
PlayerRun --> PlayerAction: 移動先あり
PlayerRun --> PlayerIdol: 移動先なし(Run解除)
PlayerAction --> OnStairs: 階段にいる
OnStairs --> EnemyAction: Cancel
OnStairs --> PlayerIdol: New Level
OnStairs --> Result: 地上へ
Result --> [*]
(any) --> Result: 死亡
stateDiagram-v2
[*] --> Title
Title --> StageSelect: Start
StageSelect --> DifficultySelect
StageSelect --> Title: Cancel
DifficultySelect --> Ready?
DifficultySelect --> StageSelect: Cancel
Ready? --> DifficultySelect: No
Ready? --> InGame: Yes
InGame --> Title
Title --> Ranking
Ranking --> Title: Close
Title --> Option
Option --> Title: Close
Title --> Credit
Credit --> Title: Close
Title --> Exit?
Exit? --> Title: No
Exit? --> [*]: Yes
Copyright (c) 2023 Koji Hasegawa
MIT License
- PixelMplus
- Copyright (C) 2002-2013 M+ FONTS PROJECT
M+ FONT LICENSE - kgsi/japanese_full.txt
- ライセンス未表記