鵺鳥鳴く

『だが、やるなら全力をそれに注ぎたまえ』――J.D.サリンジャー

全体表示

[ リスト ]

SharpUnit

Unityで単体テストができるようになる。
ぶっちゃけ、まだ必要性というか使い方とか見いだせないんだけど、
まあこんなツール見つけて使ってみたので使い方の報告。


1.とりあえず最新版をダウンロード
解凍するなり焼くなりどこかへ展開。


2.Unityのプロジェクトに投げる
まずはUnityのプロジェクトにSharpUnitフォルダを作成して、
ここに必要なファイルを投げることにする。

投げる方法はDLL版とコード版の2種類ある。

DLL版のほうはSharpUnit.slnでVC#のプロジェクトを開いてビルドするだけ。
するとDLLが生成されるので、そのDLLをSharpUnitフォルダに入れる。
Unity3Dフォルダに入っているUnity3Dと付いたcsファイルもSharpUnitフォルダに投げる。
XML_TestReporter.csはお好みで。

DLL作らない場合は、SharpUnit\Srcに入っているファイルを全てSharpUnitフォルダに投げる。
ついでにUnity3Dフォルダに入っているUnity3Dと付いたファイルも投げる。

これでUnityで利用する準備が整う。


3.テストする
テストする前に下準備をする。

テストを行うためにはTestRunnerをアサインしたGameObjectが必要になる。
Ctrl+Shift+NでGameObjectを作成し、Unity3D_TestRunner.csを適用する。

次に、テスト対象として適当にこんなクラスを作る。
とりあえず、valが返ってきたりNULLなのかチェックしたりとか、
当たり前のことだけをやりたいとする。

public class TestHoge
{
public int val=0;
public TestHoge() {}
public int GetVal() { return this.val; }
}

次にテストを行うためのクラスを作る。
ここはTestHogeのテストをするのでTestHogeTestCaseとする。
テストを駆動させるためにはSharpUnit.TestCaseクラスを継承させる。
継承したクラスの関数でSharpUnit.UnitTest属性を指定し、
テストするためのコードをちょこちょこ書いて行く。

テストそのものはSharpUnit.Assertクラスの静的関数を呼び出して使用する。

using SharpUnit;

public class TestHogeTestCase : TestCase
{
TestHoge hoge=null;

// ここで初期化コード
public override void SetUp() { this.hoge = new TestHoge(); }

// ここで終了コード
public override void TearDown() { this.hoge = null; }

[UnitTest]
public void TestVal() { Assert.Equal(0, this.hoge.GetVal()); }

[UnitTest]
public void TestNull() { Assert.NotNull(this.hoge); }
}


ここまで書けたら終了。
あとは実行かければ動くはず。
ログにいくつ失敗したか、失敗した場合はエラーって形で報告してくれる。
便利なのかは知らない。
どうテストすればいいのか全然分からないし、ツールだけとりあえず覚えた。
分かり易くて何より。

閉じる コメント(0)

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事