James Broome's tutorialに従ってMSpecと関連するインフラストラクチャの一部を教えてくれました。私は最新バージョンのMSpec、MSpecMvc、およびASP.NET MVC 2を使用しています.JP Boodhooのライブラリは使用していません。なぜこのViewResultはMSpecMVCのShouldBeAViewアサーションに失敗しますか?
私はこのテスト
[Subject(typeof(HomeController))]
public class when_the_home_controller_is_told_to_display_the_default_view
{
static string key;
static string message;
static ActionResult result;
static HomeController home_controller;
Establish context =() =>
{
key = "Message";
message = "Welcome to ASP.NET MVC!";
home_controller = new HomeController();
};
Because of =() => result = home_controller.Index();
It should_return_the_home_view =() => result.ShouldBeAView().And().ViewName.ShouldBeEmpty();
}
を実行すると、私は次のエラー
はホームビューを返す必要があり得る:
がタイプSystem.Web.Mvc.ViewResultである必要があります失敗しましたが、です型System.Web.Mvc.ViewResult
私はコードをステップ実行すると、このメソッドのアサーションに入ります
public static ViewResultAnd ShouldBeAView(this ActionResult actionResult)
{
actionResult.ShouldBeOfType<ViewResult>();
return new ViewResultAnd(actionResult as ViewResult);
}
(MSpecMVCのActionResultExtensions.cs
ファイルに)、けれども私はactionResult
がタイプSystem.Web.Mvc.ViewResult
であることを確認することができます。私は他のコンピュータで同じツールを使って他のテストを実行しましたが、私は現在の問題に遭遇していません。
の両方に対してコンパイルされています。私は確かJamesのソースコードを入手して、MSpecの最新バージョン、つまり0.3に置き換えました。私は4.0に対してコンパイルしています。あなたのご意見ありがとうございます。 – DavidS
問題ありません。 Lemmeはそれがどのように機能するか知っています! :) –
ヘイ・セルギ、私がやったことは、あなたが言ったことに従っていた。私は.NET Frameworkの適切なバージョンに対してコンパイルしていることを確認しましたが、今回はうまくいきました。 :) – DavidS