为什么实际上将我的可选实例变量设置为nil时却为nil?
码:
class FooTests: XCTestCase {
var foo: Int?
func test_A_setFoo() {
XCTAssertNil(foo)
foo = 1
XCTAssertNotNil(foo)
}
func test_B_fooIsNotNil() {
XCTAssertNotNil(foo)
}
}
Run Code Online (Sandbox Code Playgroud)
test_A_setFoo()成功而test_B_fooIsNotNil()失败
从测试执行流程 (添加重点):
对于每个类,测试都是通过运行类设置方法开始的。对于每种测试方法,将分配该类的新实例并执行其实例设置方法。之后,它运行测试方法,然后运行实例拆卸方法。对于该类中的所有测试方法,都将重复此顺序。在类中运行完最后一个测试方法拆卸之后,Xcode将执行该类拆卸方法,然后移至下一个类。重复此序列,直到运行了所有测试类中的所有测试方法。
在您的情况下,test_B_fooIsNotNil()在foo属性为的新实例上执行nil。
可以将通用设置代码放入setUp()类方法或setUp()实例方法中,请参阅
了解测试方法的设置和拆卸
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |