我刚刚开始学习TDD概念,并尝试编写测试。
首先,我想检查ViewController的标题是否等于我想要的。
我有一个非常简单的课程给我的风险投资:

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")")

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

最佳答案

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

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

关于ios - UINavigation的UnitTest检查标题返回nil,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49279191/

10-12 13:24