我正在使用XCode 8和XCTestCase。我创建了一个类setUp函数,在所有测试之前运行一次,另一个setUp在每个测试用例之前运行。
我希望在所有测试用例之前启动一次应用程序。如果我在类setUp中使用启动,它永远不会被执行。如果我在每次测试之前运行的setUp中使用启动,它会启动测试。
打印:
IN CLASS SETUP
结束课程设置
IN SETUP
测试方法
但应用程序永远不会启动。如果我取消注释该行以在第二个setUp中启动应用程序,它将启动。
如何在我的测试类中的所有测试之前启动应用程序一次?
答案 0 :(得分:1)
我遇到了同样的问题,并按照以下方式解决了这个问题
class MyTestCase: XCTestCase {
static var app: XCUIApplication?
override func setUp() {
super.setUp()
if MyTestCase.app == nil {
MyTestCase.app = XCUIApplication()
MyTestCase.app!.launch()
}
}
// Tests...
}
这只会在第一次调用setUp
方法时启动应用程序。