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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

MVC Moq框架簡(jiǎn)單測(cè)試問題

MVC Moq框架簡(jiǎn)單測(cè)試問題

慕碼人8056858 2018-12-07 03:12:56
剛開始學(xué)單元測(cè)試這節(jié),利用Moq框架作了一個(gè)最簡(jiǎn)單的測(cè)試,居然不過,求解答。 下面是Controller代碼: public class TestController : Controller { // // GET: /Test/ public ActionResult Index() { return View("Index"); } } 下面是測(cè)試代碼: [TestMethod] public void test() { //這里測(cè)試沒問題 //TestController controller = new TestController(); //var result = controller.Index() as ViewResult; //Assert.IsNotNull(result); //用Moq框架后測(cè)試不通過 Mock<TestController> MockController = new Mock<TestController>(); TestController controller = MockController.Object; //調(diào)試后result是null,為什么? var result = controller.Index() as ViewResult; Assert.IsNotNull(result); } 為什么用Moq框架后測(cè)試不通過??
查看完整描述

2 回答

?
慕哥6287543

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超10個(gè)贊

首先同意樓上,如果樓主是想用moq來(lái)測(cè)試的話那必須要做好重構(gòu)的準(zhǔn)備。

簡(jiǎn)單些個(gè)controller的測(cè)試吧:

         
var MockStudents = new Mock<Lsit<Student>>();
    ?TestController controller = New TestController(MockStudent.object);
    //這里要求你的被測(cè)試的對(duì)象由構(gòu)造函數(shù)傳入

var result = controller.Index() as ViewResult;
Assert.IsNotNull(result);

希望這段代碼能幫到你

?

查看完整回答
反對(duì) 回復(fù) 2019-01-21
?
慕田峪9158850

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

1,mock出來(lái)的東西要設(shè)置:MockController.Setup(c => c.Index()).Returns(...)

2,Controller是你要測(cè)的東西(SUT:subject upder test),所以不應(yīng)該用Mock,應(yīng)該直接new。

查看完整回答
反對(duì) 回復(fù) 2019-01-21
  • 2 回答
  • 0 關(guān)注
  • 528 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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