Dan*_*kin 2 xctest swift swift2
在带有 XCTest 的 Swift 中,是否可以测试强制展开的结果?我希望有像茉莉花那样的东西expect(...).toThrow():
let a: Something? = MAYBE_NIL_MAYBE_NOT
func unwrap()
{
a!
}
XCTAssertCausesError(unwrap)
Run Code Online (Sandbox Code Playgroud)
使用新的XCTUnwrap来解包一个对象,并在值为 nil 时断言。
let optional: String? = "optional"\nlet unwrapped: String = try XCTUnwrap(optional) // throws\nRun Code Online (Sandbox Code Playgroud)\n在非抛出函数中,您可以使用guard测试失败的单行代码,如下所示:
guard let unwrapped = try? XCTUnwrap(optional) else { return }\nRun Code Online (Sandbox Code Playgroud)\n这本质上与测试强制展开相同。只需使用该功能而不是!.
\n\n\n
XCTUnwrap断言可选变量\xe2\x80\x99s 值不为零,如果断言成功则返回其值。\n
XCTAssertNotNil(_:_:file:line:)这消除了在测试的其余部分中结合解包值或处理条件链接的需要。例如:
func testFirstNameNotEmpty() throws {\n let forenames: [String] = customer.forenames\n\n let firstName = try XCTUnwrap(forenames.first)\n XCTAssertFalse(firstName.isEmpty)\n}\nRun Code Online (Sandbox Code Playgroud)\n在 WWDC 2019 和 Xcode 11 发行说明中宣布:
\n https://developer.apple.com/documentation/xcode_release_notes/xcode_11_release_notes
| 归档时间: |
|
| 查看次数: |
2145 次 |
| 最近记录: |