微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用fakeiteasy为包含对HttpContext调用的代码编写MSpec测试?

如何解决如何使用fakeiteasy为包含对HttpContext调用的代码编写MSpec测试?

| 我正在曲折的短裤。对于这个非常简单的代码
public ActionResult Add()
    {

        this.HttpContext.Items[\"pm-page-title\"] = \"Some title\";

        return this.View();
    }
我该如何使用fakeiteasy编写MSpec测试,以验证是否返回了视图以及更相关的是页面标题设置是否正确? TIA, 大卫     

解决方法

// arrange
var sut = new SomeController();
sut.ControllerContext = A.Fake<ControllerContext>();
var fakeContext = A.Fake<HttpContextBase>();
A.CallTo(() => sut.ControllerContext.HttpContext).Returns(fakeContext);
A.CallTo(() => fakeContext.Items).Returns(new Hashtable());

// act
var actual = sut.Add();

// assert
Assert.AreEqual(\"Some title\",(string)fakeContext.Items[\"pm-page-title\"]);
    

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。