注:目前這個功能還在 nsubstitute.experimental 名空間下,我們還在對其 api 和行為進行試驗。非常歡迎你來試一試,但是要注意其可能在後續的版本中有變化。請在討論組中反饋意見。
有時呼叫需要滿足特定的順序。就像已知的 "temporal coupling",其取決於呼叫收到的時間。理想情況下,我們可能會修改設計來移除這些耦合。但當不能移除時,憑藉 nsubstitute 我們可以斷言呼叫的順序。
1public
class
controller210
11public
void
dostuff()
1217}18
19public
class
icommand
2022}23
24public
class
iconnection
2527
28public
void
close()
2930
public
event31}
3233
[testmethod]
34public
void
test_checkingcallorder_commandrunwhileconnectionisopen()
35);
48 }
如果接收到呼叫的順序不同,received.inorder 會丟擲異常,並顯示期待的結果和實際的呼叫結果。
我們也可以使用標準的引數匹配器來匹配呼叫,就像當我們需要檢查單個呼叫時一樣。
1[testmethod]
2public
void
test_checkingcallorder_subscribetoeventbeforeopeningconnection()3;
6connection.open();
78 received.inorder(() =>9);
13 }
NSubstitute完全手冊索引
nsubstitute 是乙個 net mocking 類庫。一直以來,開發者對 mocking 類庫的語法的簡潔性有強烈的渴望,nsubstitute 試圖滿足這一需求。簡單明瞭的語法可以讓我們將重心放在測試本身,而不是糾纏在測試替代例項的建立和配置上。nsubstitute 已嘗試將最常用的操作...
NSubstitute完全手冊索引
nsubstitute 是乙個 net mocking 類庫。一直以來,開發者對 mocking 類庫的語法的簡潔性有強烈的渴望,nsubstitute 試圖滿足這一需求。簡單明瞭的語法可以讓我們將重心放在測試本身,而不是糾纏在測試替代例項的建立和配置上。nsubstitute 已嘗試將最常用的操作...
NSubstitute完全手冊索引
nsubstitute 是乙個 net 單元測試模擬類庫。一直以來,開發者對 mocking 類庫的語法的簡潔性有強烈的需求,nsubstitute 試圖滿足這一需求。簡單明瞭的語法可以讓我們將重心放在測試本身,而不是糾纏在測試替代例項的建立和配置上。nsubstitute 已嘗試將最常用的操作需求...