我刚刚开始学习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/