第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

模擬Asp.net-mvc控制器上下文

模擬Asp.net-mvc控制器上下文

尚方寶劍之說 2019-12-20 10:54:15
因此,控制器上下文取決于一些asp.net內(nèi)部。有什么方法可以完全模擬這些以進行單元測試?當(dāng)我僅需要例如Request.HttpMethod返回“ GET”時,似乎很容易用大量設(shè)置阻塞測試。我已經(jīng)在網(wǎng)上看到了一些例子/幫助者,但其中有些是過時的。認為這將是保持最新和最佳狀態(tài)的好地方。我正在使用最新版本的犀牛模擬
查看完整描述

3 回答

?
汪汪一只貓

TA貢獻1898條經(jīng)驗 獲得超8個贊

使用最小起訂量看起來像這樣:


var request = new Mock<HttpRequestBase>();

request.Expect(r => r.HttpMethod).Returns("GET");

var mockHttpContext = new Mock<HttpContextBase>();

mockHttpContext.Expect(c => c.Request).Returns(request.Object);

var controllerContext = new ControllerContext(mockHttpContext.Object

, new RouteData(), new Mock<ControllerBase>().Object);

我認為Rhino Mocks的語法相似。


查看完整回答
反對 回復(fù) 2019-12-20
?
慕俠2389804

TA貢獻1719條經(jīng)驗 獲得超6個贊

這是Jason鏈接的摘錄。與Phil的方法相同,但使用犀牛。


注意:在嘲笑了mockRequest的內(nèi)部之前,將嘲笑mockHttpContext.Request 返回mockRequest 。我相信此命令是必需的。


// create a fake web context

var mockHttpContext = MockRepository.GenerateMock<HttpContextBase>();

var mockRequest = MockRepository.GenerateMock<HttpRequestBase>();

mockHttpContext.Stub(x => x.Request).Return(mockRequest);


// tell the mock to return "GET" when HttpMethod is called

mockRequest.Stub(x => x.HttpMethod).Return("GET");            


var controller = new AccountController();


// assign the fake context

var context = new ControllerContext(mockHttpContext, 

                  new RouteData(), 

                  controller);

controller.ControllerContext = context;


// act

...


查看完整回答
反對 回復(fù) 2019-12-20
  • 3 回答
  • 0 關(guān)注
  • 676 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號