久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

如何使用 OCMock 來驗證某個方法從未被調用?

How can I use OCMock to verify that a method is never called?(如何使用 OCMock 來驗證某個方法從未被調用?)
本文介紹了如何使用 OCMock 來驗證某個方法從未被調用?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

在我的日常工作中,Mockito的never()驗證,可以確認一個mock方法永遠不會被調用.

At my day job I've been spoiled with Mockito's never() verification, which can confirm that a mock method is never called.

有沒有什么方法可以使用 Objective-C 和 OCMock 來完成同樣的事情?我一直在使用下面的代碼,它可以工作,但感覺就像一個黑客.我希望有更好的方法...

Is there some way to accomplish the same thing using Objective-C and OCMock? I've been using the code below, which works but it feels like a hack. I'm hoping there's a better way...

- (void)testSomeMethodIsNeverCalled {
    id mock = [OCMockObject mockForClass:[MyObject class]];
    [[[mock stub] andCall:@selector(fail) onObject:self] forbiddenMethod];

    // more test things here, which hopefully
    // never call [mock forbiddenMethod]...
}

- (void)fail {
    STFail(@"This method is forbidden!");
}

推薦答案

從OCMock r69開始,可以拒絕一個方法調用http://svn.mulle-kybernetik.com/OCMock/trunk/Source/Changes.txt

Since r69 of OCMock, it's possible to reject a method call http://svn.mulle-kybernetik.com/OCMock/trunk/Source/Changes.txt

很好的模擬/快速失敗當一個方法在模擬對象上調用尚未設置任何期望或存根模擬對象將引發例外.這種故障快速模式可以通過創建一個不錯的"模擬來關閉:

Nice mocks / failing fast When a method is called on a mock object that has not been set up with either expect or stub the mock object will raise an exception. This fail-fast mode can be turned off by creating a "nice" mock:

id mock = [OCMockObject niceMockForClass:[SomeClass class]]

雖然漂亮的模擬會簡單地忽略所有意想不到的方法都是可能的禁止特定方法:

While nice mocks will simply ignore all unexpected methods it is possible to disallow specific methods:

[[mock reject] someMethod]

請注意,在故障快速模式下,如果異常被忽略,它將是調用驗證時重新拋出.這可以確保來自的不需要的調用可以檢測到通知等.

Note that in fail-fast mode, if the exception is ignored, it will be rethrown when verify is called. This makes it possible to ensure that unwanted invocations from notifications etc. can be detected.

引自:http://www.mulle-kybernetik.com/software/OCMock/#features

這篇關于如何使用 OCMock 來驗證某個方法從未被調用?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

How to draw stars using Quartz Core?(如何使用 Quartz Core 繪制星星?)
Why does giving addArcWithCenter a startAngle of 0 degrees make it start at 90 degrees?(為什么給 addArcWithCenter 一個 0 度的 startAngle 使它從 90 度開始?)
Are ints always initialized to 0?(整數總是初始化為0嗎?)
Is it possible to reference a variable with a string and an int?(是否可以使用字符串和 int 引用變量?)
Mockito - what does verify method do?(Mockito - 驗證方法有什么作用?)
Is there a native YAML library for iPhone?(是否有適用于 iPhone 的本機 YAML 庫?)
主站蜘蛛池模板: 综合久久久 | 久草视频在线播放 | 久久精品视频播放 | 成人精品一区 | 欧美日韩亚洲成人 | 四虎免费视频 | 天堂一区在线观看 | 在线观看成年人视频 | 视频一区中文字幕 | 亚洲第1页| 91婷婷韩国欧美一区二区 | 蜜臀久久99精品久久久久野外 | 亚洲日本激情 | 日韩免费av| 欧美日韩国产三级 | 精品日韩一区 | 天天操网 | 国产高清在线精品一区二区三区 | 干干干操操操 | 欧美综合视频 | 久久国产精品久久久久久久久久 | 亚洲欧美综合精品久久成人 | 国产精品一区二区三区在线 | 日本aaaa| 特一级毛片| 成人综合一区 | 一级做a爰片久久毛片 | 国产精品一区二区在线 | 插插插干干干 | 久草在线中文888 | 91成人免费 | 国产精品美女久久久 | 日韩视频免费看 | 亚洲一区二区三区免费视频 | 成人片网址| 日韩精品视频在线 | 久久久蜜桃一区二区人 | 欧美午夜精品 | 中文av在线播放 | 中文一区| 国产日韩欧美一区二区 |