私の HomeController には、次のものがあります。
public ActionResult Index()
{
SetModuleTitle("Welcome");
return RedirectToAction( "DashBoard", "Home" );
}
SetModuleTitle は親クラスで次のように定義されます。
public void SetModuleTitle(string title)
{
ViewData["ModuleTitle"] = string.Format("PM4 - {0}", title);
}
それについて驚くことは何もありません。SetModuleTitle メソッドをテストするテストを作成しようとしています。
[Subject( typeof( HomeController ) )]
public class when_the_home_page_is_requested_by_logged_in_user_ : context_for_a_home_controller_for_logged_user
{
static ActionResult result;
Because of = () => result = HomeController.Index();
It should_set_the_module_title = () => ( ( ViewResult ) result ).ViewData[ "ModuleTitle" ].ShouldEqual( "PM4 - Dashboard" );
}
そして私は当然そう言われる
タイプ 'System.Web.Mvc.RedirectToRouteResult' のオブジェクトをタイプ 'System.Web.Mvc.ViewResult' にキャストできません。
では、その場合、MSpec テストをどのようにセットアップすればよいでしょうか?
デビッド