【发布时间】:2018-11-07 19:47:30
【问题描述】:
我写了一个单元测试如下:
class Test445Tests: XCTestCase {
func testPerformanceExample() {
XCTAssert(true)
}
}
当测试运行时,调用 ViewController.viewDidLoad!有人可以解释为什么会这样吗?
class ViewController: UIViewController {
static var s = false
override func viewDidLoad() {
super.viewDidLoad()
ViewController.s = true // put the debugger here.
}
}
如果您编写此代码并将调试器放在 ViewController 上,您可以检查调试器是否会在该行停止。
【问题讨论】:
-
您似乎创建了 ViewController() ??
-
不,我还没有创建 ViewController,我使用了它的静态变量,但是检查新代码,如果你把调试器放到线上:ViewController.s = true,然后运行单元测试你会看到它会停在那里
-
@AshleyMills 编写上面的代码并将调试器放在 super.viewDidLoad() 行上,然后在 testPerformanceExample() 上启动单元测试。调试器将在 ViewController 上停止。模拟器实际上是为我启动的,它会打开应用程序。我做错了什么还是这是正常行为?
-
这实际上是一个非常好的问题。我不知道你为什么被否决。
标签: ios swift unit-testing xctest