Xcode XCTestCase未在安装类方法中启动应用程序
我使用的是XCode 8和XCTestCase。我创建了一个类设置函数,在所有测试之前运行一次,在每个测试用例之前运行另一个设置 我希望应用程序在所有测试用例之前启动一次。如果我在类设置中使用launch,它永远不会被执行。如果我在每次测试之前运行的设置中使用启动,它确实会启动测试 它打印: 课堂设置 末级设置 设置中 在试验方法中 但应用程序从未启动。如果我在第二次安装中取消注释该行以启动应用程序,它将被启动Xcode XCTestCase未在安装类方法中启动应用程序,xcode,xctest,xcode-ui-testing,ios-ui-automation,xctestcase,Xcode,Xctest,Xcode Ui Testing,Ios Ui Automation,Xctestcase,我使用的是XCode 8和XCTestCase。我创建了一个类设置函数,在所有测试之前运行一次,在每个测试用例之前运行另一个设置 我希望应用程序在所有测试用例之前启动一次。如果我在类设置中使用launch,它永远不会被执行。如果我在每次测试之前运行的设置中使用启动,它确实会启动测试 它打印: 课堂设置 末级设置 设置中 在试验方法中 但应用程序从未启动。如果我在第二次安装中取消注释该行以启动应用程序,它将被启动 如何在测试类中的所有测试之前启动一次应用程序?我面临同样的问题,并通过以下方式解决
如何在测试类中的所有测试之前启动一次应用程序?我面临同样的问题,并通过以下方式解决了它
class MyTestCase: XCTestCase {
static var app: XCUIApplication?
override func setUp() {
super.setUp()
if MyTestCase.app == nil {
MyTestCase.app = XCUIApplication()
MyTestCase.app!.launch()
}
}
// Tests...
}
这将仅在第一次调用
设置
方法时启动应用程序。谢谢!这个变通办法对我确实有效。仍然好奇为什么它不能在苹果为整个设置提供的类函数中工作。但这在那之前是有效的!多谢!我了解到与XUIApplication的交互在类方法中不起作用,我认为这可能是Xcode UI测试工作方式的一个限制。这真的很糟糕。苹果的XUITest基本上没有做它声明应该允许的事情: