【问题标题】:Swift Unit Test if method can handle optional set to nil如果方法可以处理可选设置为 nil,则进行 Swift 单元测试
【发布时间】:2014-11-30 09:43:30
【问题描述】:

这适用于同时使用 ObjC 和 Swift 的项目,我所涉及的代码是用 Swift 编写和测试的。

我有一个通信器类,它接收一个文档对象,并且应该从该对象检索一个 documentId。我的通信器有一个 serverPathForDocument: 方法,它使用这个 documentId 来构建一个远程路径来获取相关数据。

为通信器编写单元测试我意识到我想知道我的 serverPathForDocument: 方法是否可以处理 documentId 上的未启动 (nil) 值。如果用 Obj-C 编写,我的测试将如下所示:

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

Swift 没有异常,或者我已经阅读过,那么我将如何编写一个适当的单元测试来检查一个方法是否可以处理一个可选设置为 nil?

【问题讨论】:

    标签: objective-c unit-testing swift tdd xctest


    【解决方案1】:

    我可能希望serverPathForDocument 方法返回一个可选的路径对象(无论它对您意味着什么)。然后调用者有责任确保可选项不是 nil 并且真正代表路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-25
      • 2010-09-10
      • 2014-11-25
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      • 1970-01-01
      • 2014-07-10
      相关资源
      最近更新 更多