单元测试 Interface Builder 和 Storyboard 开发
Posted
技术标签:
【中文标题】单元测试 Interface Builder 和 Storyboard 开发【英文标题】:Unit testing Interface Builder and Storyboard development 【发布时间】:2014-11-30 19:11:01 【问题描述】:这种单元测试有意义吗?
func testPreferencesTabViewControllerNotNil()
var sb = NSStoryboard(name: "Main", bundle: nil)
var window = sb?.instantiateControllerWithIdentifier("pref") as NSWindowController
var tabs = window.window?.contentViewController as NSTabViewController
XCTAssertNotNil(tabs, "Preferences window NSTabViewController must not be nil.")
func testPreferencesTabViewStyleIsToolBar()
var sb = NSStoryboard(name: "Main", bundle: nil)
var window = sb?.instantiateControllerWithIdentifier("pref") as NSWindowController
var tabs = window.window?.contentViewController as NSTabViewController
XCTAssert(tabs.tabStyle == NSTabViewControllerTabStyle.Toolbar, "Preferences window NSTabViewController tab style must be Toolbar.")
func testFirstPreferencesTabViewIsGeneral()
var sb = NSStoryboard(name: "Main", bundle: nil)
var window = sb?.instantiateControllerWithIdentifier("pref") as NSWindowController
var tvc = window.window?.contentViewController as NSTabViewController
var tvi = tvc.tabViewItems[0] as NSTabViewItem
XCTAssert(tvi.viewController? is GeneralPreferencesViewController, "First Preferences Tab must be General Preferences")
XCTAssert(tvi.label == "General" , "First Preferences Tab must have title ")
这主要是在测试 Interface Builder 配置,所以,我们是否应该假设一切都已正确配置?
【问题讨论】:
【参考方案1】:在我看来,这看起来像是您正在尝试验证和测试您的用户界面。我认为更好的方法是使用UIAutomation instrument。另外,我强烈建议使用the brilliant tuneup_js library。
【讨论】:
以上是关于单元测试 Interface Builder 和 Storyboard 开发的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Interface Builder 和 xcode 中将表格和单元格背景更改为自定义图像?
iOS Update Interface Builder视图框架基于约束
在 Interface Builder 中创建的 Table View Controller 的底部单元格在 iPhone X 上被剪裁和隐藏
我在 Interface Builder 上看不到所有静态单元格