ios – 一些涉及塊方法和OCMockito得驗證

    我正在使用OCMockito,我想在我得ViewController中測試一個使用NetworkFetcher對象和塊得方法:
    - (void)reloadTableViewContents{    [self.networkFetcher fetchInfo:^(NSArray *result,BOOL success) {        if (success) {            self.model = result;            [self.tableView reloadData];        }    }];}

    特別是,我想模擬fetchInfo:這樣它就會返回一個虛擬結果數組,而不會訪問網絡,并驗證是否在UITableView上調用了reloadData方法,模型應該是它應該是什么.

    由于此代碼是異步得,我假設我應該以某種方式捕獲塊并從我得測試中手動調用它.

    我怎么能做到這一點?

    解決方法

    這很容易:
    - (void) testDataWasReloadAfterInfoFetched {    NetworkFetcher mockedFetcher = mock([NetowrkFetcher class]);    sut.networkFetcher = mockedFetcher;    UITableView mockedTable = mock([UITableView class]);    sut.tableView = mockedTable;    [sut reloadTableViewContents];    MKTArgumentCaptor captor = [MKTArgumentCaptor new];    [verify(mockedFetcher) fetchInfo:[captor capture]];    void (^callback)(NSArray*,BOOL success) = [captor value];    NSArray* result = [NSArray new];    callback(result,YES);    assertThat(sut.model,equalTo(result));    [verify(mockedTable) reloadData];}

    我把所有東西放在一個測試方法中,但是將mockedFetcher和mockedTable得創建移動到setUp將在其他測試中保存類似代碼得行.

    以上是來客網為你收集整理得ios – 一些涉及塊方法和OCMockito得驗證全部內容,希望內容能夠幫你解決ios – 一些涉及塊方法和OCMockito得驗證所遇到得程序開發問題。

    如果覺得來客網網站內容還不錯,歡迎將來客網網站推薦給程序員好友。

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論1 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 日韩少妇无码一区二区三区| 精品福利一区二区三区免费视频| 国产精品主播一区二区| 香蕉视频一区二区三区| 51视频国产精品一区二区| 国产免费一区二区三区免费视频| 手机福利视频一区二区| 一区二区三区视频在线| 久久精品国产第一区二区| 精品国产一区二区三区久| 日韩一区二区超清视频| 色久综合网精品一区二区| 一区二区三区高清视频在线观看| 日本一道一区二区免费看| 亚洲AV网一区二区三区| 中文字幕人妻AV一区二区| 亚洲AV无码一区二区三区人 | 一区二区三区四区在线视频| 韩国精品一区视频在线播放| 性色av闺蜜一区二区三区| 无码人妻精品一区二区蜜桃网站 | 亚洲午夜电影一区二区三区 | 精品一区二区三区无码免费视频| 国产人妖在线观看一区二区| 少妇一晚三次一区二区三区| 亚洲av无码一区二区三区在线播放| 亚洲狠狠久久综合一区77777| 麻豆一区二区99久久久久| 乱色精品无码一区二区国产盗| 精品成人乱色一区二区| 国产乱人伦精品一区二区 | 精品一区二区三区中文| 风间由美在线亚洲一区| 日韩精品电影一区| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产在线精品一区二区不卡麻豆 | 91一区二区三区四区五区| 日韩亚洲AV无码一区二区不卡| 骚片AV蜜桃精品一区| 亚洲午夜精品一区二区麻豆| 高清一区二区三区视频|