2017-02-24 30 views
2

我想在我的单元测试中测试一些大小类特定的特征,但是遇到了尺寸类未在awakeFromNib中正确设置的问题。当我运行该应用程序时,通过在屏幕上显示所有内容后在LLDB中对其进行检查,可正确设置该应用程序,但在进行单元测试时似乎无法触发正在设置的大小类。何时正确设置了尺寸等级?

有没有人有关何时设置特征集合/如何触发它的任何信息?

编辑:为了清楚起见,这些是测试只是视图,而不是它的ViewController的单元测试。所以我从它的笔尖加载视图,然后对其执行测试。

我试过呼吁layoutSubviews()希望这会触发某种尺寸级的设置,但它没有奏效。当我在traitCollectionDidChange中放置断点时,堆栈跟踪中只有main,因此我不确定实际触发了什么。

+0

也许当它被添加到它的父 – dan

+0

请出示你有什么试过。 – shallowThought

回答

1

我想通了。关键是,认为需要有一个窗口的一部分,以便有它的尺寸规格更新,所以下面的代码补救的情况:

let window = UIWindow() 

// "view" is the view you want the size class updated one 
window.addSubview(view)