【C#】NSubstituteを使用してクラスをモックとして偽装する
NSubstituteとは?
定義されたinterfaceを使用して、クラスの振る舞いをモックとして定義することが出来るライブラリ
interfaceに定義されているフィールドやメソッドの返す値や動作を一つずつ定義できるので、テストしたいクラスに渡すデータなどの偽装が可能
とにかく非常に便利で、使いやすく有用
入手はこちら
Unityで使用する際はUnity Test Tools を入手して、Pluginsの中にdllを入れると動作する
https://www.assetstore.unity3d.com/jp/#!/content/13802
基本的に実機動作はしません、UnityならEditor上のみで使用するようにしてください
簡単な使い方
クラスとフィールド、メソッドの動作を偽装した例
割と簡単に定義できる
ちょっとした小技
メソッドの中で自身のフィールドを変更したい時などは、一度データをキャッシュするとよい
直接フィールドを書き換えることはできないので、気をつけよう
ある特定の機能だけ動作させたいけどデータがないよ〜という時はガンガン使っていこう