UnitTest检查UINavigation的标题返回nil

时间:2018-03-14 13:36:13

标签: ios swift unit-testing

我刚开始学习TDD概念并尝试编写测试。 首先,我想检查我的ViewController的标题是否与我想要的相同。

我的VC有一个非常简单的类:

class MyViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        self.title = "Discover"
    }

}

在我的测试中,我正在检查:

func test_titleShouldBe_Discover() {
    sut = MyViewController()

    XCTAssertEqual(sut.title, "Discover")
}

我在测试中遇到了这个错误:

XCTAssertEqual failed: ("nil") is not equal to ("Optional("Discover")")

有人可以告诉我哪里做错了吗?

1 个答案:

答案 0 :(得分:1)

因为在viewDidLoad()之后不会自动调用init。添加调用以加载视图:

func test_titleShouldBe_Discover() {
    sut = MyViewController()
    sut.loadViewIfNeeded()
    XCTAssertEqual(sut.title, "Discover")
}