MOQフレームワークを試していますが、今は障壁があります。 ViewNameプロパティの実際の値が空の文字列であるため、次の単体テストが失敗します。moqでコントローラのコンテキストをモックする方法
誰かが正しい方向に私を指すことができますか?なぜこれがテストに合格していないのですか?
[TestMethod]
public void Can_Navigate_To_About_Page()
{
var request = new Mock<HttpRequestBase>();
request.Setup(r => r.HttpMethod).Returns("GET");
var mockHttpContext = new Mock<HttpContextBase>();
mockHttpContext.Setup(c => c.Request).Returns(request.Object);
var controllerContext = new ControllerContext(mockHttpContext.Object,
new RouteData(),
new Mock<ControllerBase>().Object);
var controller = new HomeController();
controller.ControllerContext = controllerContext;
var result = controller.About() as ViewResult;
Assert.AreEqual("About", result.ViewName);
}
次に、空のViewNameも表示されます。私は上記の最初のユニットテストの例の作業のいずれかを行う必要があり、他のどのような配管にとしてだけで混乱していますモックも良いTTD実証し、ウェブ上の例から
HomeController controller = new HomeController();
ViewResult result = controller.About() as ViewResult;
Assert.IsNotNull(result);
Assert.AreEqual("About", result.ViewName);
。あなたが明示的に指定していないときVIEWNAMEを決定することは、フレームワークの深さにあるので
乾杯、
アンドリュー
ありがとうございました、メソッドのシグネチャの1つがView(文字列viewName、オブジェクトモデル)であることを確認した後で、あなたのポイントは完璧な意味を持ちます! P.S.テストは合格! :-) –