基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
1. 基礎から見直す ASP.NET MVC
の単体テスト自動化方法
~ Windows Azure 関連もあるかも~
Microsft MVP for Windows Azure
割と普通
1
2. 自己紹介
• 割と普通 ( @normalian )
– Windows Azure のコミュニティメンバ
• Japan Windows Azure User Group
http://r.jazug.jp/
– わんくま同盟 のコミュニティメンバ
• http://www.wankuma.com/
– Microsoft MVP for Windows Azure 2010~
2
13. 単体テスト自動化が容易なインター
フェースを定義する 3/3
• Testing Framework や NUnit 等で自動テ
スト可能な外部インターフェース設計とする
ViewReult コント
• ViewBag ローラ
• Model
Web API の
応答
XXXXResult
(その他の応答)
13
14. 変数名の命名規則に留意する 1/2
• テストメソッド名、変数名からチェック対象を理解
できるように命名する
良い例
[TestMethod]
public void Indexがリストを返す()
{
List<string> expect = new List<string>(){ "a", "b", "c" };
List<string> actual = null;
HomeController controller = new HomeController();
actual = (controller.Index() as ViewResult).Model;
Assert.Equals( expect, actual );
}
14
15. 変数名の命名規則に留意する 2/2
• 「悪い例」では、テストメソッド名、変数名から
チェック対象が理解できない
悪い例
[TestMethod]
public void Index ()
{
HomeController controller = new HomeController();
var actual = (controller.Index() as ViewResult).Model;
Assert.Equals(new List<string>(){ "a", "b", "c" }, actual );
}
15