首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XCTestCase可选实例变量

XCTestCase可选实例变量
EN

Stack Overflow用户
提问于 2018-02-01 12:23:12
回答 1查看 1.3K关注 0票数 4

为什么我的可选实例变量为零,而实际上我将它设置为非零?

代码:

代码语言:javascript
复制
class FooTests: XCTestCase {
    var foo: Int?

    func test_A_setFoo() {
        XCTAssertNil(foo)
        foo = 1
        XCTAssertNotNil(foo)
    }

    func test_B_fooIsNotNil() {
        XCTAssertNotNil(foo)
    }
}

test_A_setFoo()成功而test_B_fooIsNotNil()失败

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-01 12:35:01

来自测试执行流程 (重点是后加的):

对于每个类,测试从运行类安装方法开始。对于每个测试方法,--类的一个新实例被分配给--并执行其实例设置方法。之后,它运行测试方法,然后运行实例删除方法。此序列重复用于类中的所有测试方法。在类中的最后一个测试方法teardown运行之后,Xcode执行类teardown方法并转移到下一个类。此序列重复执行,直到所有测试类中的所有测试方法都已运行为止。

在您的示例中,test_B_fooIsNotNil()是在一个新实例上执行的,对于这个实例,foo属性是nil

可以将常见的设置代码放入setUp()类方法或setUp()实例方法中,请参阅了解测试方法的设置和测试

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48562711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档