Moq的一些基本用法

2022-01-19 02:13:28 字數 1841 閱讀 8530

本篇體驗moq的一些基本用法。首先通過nuget安裝moq。包括:

模擬方法的返回值

public

class helperclass

}
[testclass]
public

class unittest1

}
● moq模擬的方法一般是virtual虛方法,介面方法

● mock.object是指helperclass的例項

模擬方法後執行**函式

[testclass]
public

class unittest1

);
assert.areequal(mock.object.isenabled(),true);
if (temp == "success")
}
}
● 執行return方法後,執行callback**方法,接收的引數型別是委託

模擬方法依次返回多個值

[testclass]
public

class unittest1

}
● setupsequence方法可以為方法返回多個值

如果把以下2句:

assert.areequal(mock.object.isenabled(),true);

assert.areequal(mock.object.isenabled(), false);

顛倒一下順序,變成:

assert.areequal(mock.object.isenabled(), false);

assert.areequal(mock.object.isenabled(),true);

結果,測試不通過。因為sutupsequence返回方法返回值的時候是有順序的。

模擬第二次呼叫方法返回異常

[testclass]
public

class unittest1

}
● 通過throws方法,在第二次呼叫isenable()方法時丟擲異常。

直接返回被模擬方法的原始返回值

在被模擬的helperclass類中,isenabled方法內部丟擲異常。當把moq例項的callbase屬性設定為true,並呼叫callbase方法,可在測試方法中直接返回被模擬類中方法的原始返回值。

模擬泛型類

public

class helperclasswhere t : class

}
public

class sample{}

[testclass]
public

class unittest1

}

hadoop的一些基本用法

1 檢視指定目錄下內容 hadoop dfs ls 檔案目錄 eg hadoop dfs ls user 2 開啟某個已存在檔案 hadoop dfs cat file path eg hadoop dfs cat user susu 3 將本地檔案儲存至hadoop hadoop fs put 本...

ssh,scp的一些基本用法

今天終於把高階計算機網路的project做完了,3個project,乙個使用ns3模擬當前資料中心的拓撲結構,乙個在mininet下對資料中心進行模擬,最後乙個是使用pyretic來寫乙個防火牆。雖然自己之前對linux還是有一定的基礎,但是在做miniet中的實驗中使用xterm,wireshar...

Jquery的一些基本用法

1 獲取指定name的radio選定的值 var a input name price checked attr value 2 獲取指定id的html標籤中的文字內容 var a aa text 3 修改指定id的html標籤中的內容,html 也會以文字形式顯示 n html 警告 4 保留小數...