2014-10-06 78 views
2

這適用於同時具有ObjC和Swift的項目,其中我涉及的代碼是在Swift中編寫和測試的。Swift單元測試如果方法可以處理可選設置爲零

我有一個communicator類接收文檔對象,並從該對象應檢索documentId。我的通信器有一個serverPathForDocument:方法,它使用這個documentId構建一個遠程路徑來獲取相關數據。

爲通信器編寫單元測試我意識到我想知道我的serverPathForDocument:方法是否可以處理documentId上的非啓動(無)值。如果寫的對象 - 我的測試看起來是這樣的:

- (void)testThatRemotePathForDocumentCanHandleNilDocumentId { 
    testDocument.documentId = nil 
    XCTAssertNoThrow([sut serverPathForDocument: testDocument], "Method should handle nil argument"); 
} 

斯威夫特沒有例外,還是讓我讀過,所以我怎麼會寫一個適當的單元測試來檢查,如果一個方法可以處理可選集爲零?

回答

0

我可能會想要serverPathForDocument方法返回一個可選的路徑對象(無論它對你來說意味着什麼)。然後調用者有責任確保可選項不是nil,並且確實代表路徑。

相關問題