IOS XCTest使用非同步測試

2021-08-09 19:23:14 字數 1020 閱讀 7607

xctest使用非同步測試需要用到xctestexpectation這個類,

首先在測試方法中建立乙個xctestexpectation物件expectation

xctestexpectation* exception = [self expectationwithdescription:@"xx"];
然後執行自定義的非同步方法。在這裡測試使用dispatch_async執行非同步操作,真實的測試環境可能是執行乙個非同步的網路請求,在非同步任務執行完成之後需要呼叫xctestexpectation物件expectationfullfill方法,網路請求中需要再網路請求完成之後呼叫該方法。

dispatch_queue_t queue = dispatch_queue_create("group.queue", dispatch_queue_serial);

dispatch_block_t block = dispatch_block_create(0, ^);

dispatch_async(queue, block);

呼叫waitforexpectationswithtimeout:handler方法傳遞乙個時間引數和超時處理的block。

[self waitforexpectationswithtimeout:3 handler:^(nserror * _nullable error) ];
完整的**

- (void)testasync );

dispatch_async(queue, block);

[self waitforexpectationswithtimeout:3 handler:^(nserror * _nullable error) ];

}

PAT初步 測試

刷題 常用的是黑河測試,系統後台準備若干組輸入資料,讓提交程式取執行這些資料,看輸出的結果是否與正確答案完全相同。黑盒測試分為單點測試和多點測試 系統判斷每組資料的輸出結果是否正確,正確則該組資料通過測試,使用者可獲得該組資料的分值。includeint main 要求程式一次性執行所有的資料,所有...

thread同步測試

1 編譯執行附件中的 提交執行結果截圖,並說明程式功能 2 修改 把同步資源個數減少為3個,把使用資源的執行緒增加到 你的學號 3 4 個,編譯 提交修改後的 和執行結果截圖。截圖 執行截圖 程式功能 生產者消費者模型,假定有兩個執行緒,乙個消費者執行緒,乙個生產者執行緒。乙個模擬生產者行為,乙個模...

thread同步測試

1.編譯執行附件中的 提交執行結果截圖,並說明程式功能 2 修改 把同步資源個數減少為3個,把使用資源的執行緒增加到 你的學號 3 4 個,編譯 提交修改後的 和執行結果截圖。每乙個生產者都要把自己生產的產品放入緩衝池,每個消費者從緩衝池中取走產品消費。在這種情況下,生產者消費者程序同步,因為只有通...