NSubstitute完全手冊(十八)檢查呼叫順序

2021-09-06 09:51:34 字數 1045 閱讀 7852

注:目前這個功能還在 nsubstitute.experimental 名空間下,我們還在對其 api 和行為進行試驗。非常歡迎你來試一試,但是要注意其可能在後續的版本中有變化。請在討論組中反饋意見。

有時呼叫需要滿足特定的順序。就像已知的 "temporal coupling",其取決於呼叫收到的時間。理想情況下,我們可能會修改設計來移除這些耦合。但當不能移除時,憑藉 nsubstitute 我們可以斷言呼叫的順序。

1

public

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 已嘗試將最常用的操作需求...