【发布时间】:2019-08-07 12:20:37
【问题描述】:
我没有在 Xcode 中使用 IB,而是以编程方式构建了我的所有 UI。现在我想断言约束在我的单元测试中是正确的(是的,不是在 UI 测试中)。
我有一些这样的限制:
footer.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
footer.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
footer.rightAnchor.constraint(equalTo: view.rightAnchor).isActive = true
footer.heightAnchor.constraint(equalTo: view.heightAnchor, multiplier: 0.08).isActive = true
现在我想在我的单元测试中对此进行测试。我可以断言页脚不是零,并且除了尺寸之外它具有预期的属性,因为它们始终显示为 0。例如,这是我尝试过但没有奏效的方法:
XCTAssertTrue(subject.getFooterView().frame.origin.y == subject.view.frame.origin.y)
我认为这应该是正确的,但它失败了。如果我打印每个属性的值,我可以看到值 subject.view.frame.origin.y 是 414 但值 subject.getFooterView( ).frame.origin.y 总是零。
所有其他属性也是如此,例如 frame.size.width 等,对于我的页脚来说总是 零。
谁能帮我理解这个?
【问题讨论】:
标签: swift unit-testing