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