如何运行swift XCTest拆卸一次
我使用的是xcode 8.3.3,swift,我试图让tearDown方法只运行一次 我使用此处提供的解决方案启动应用程序一次: 在tearDown方法中,我想注销应用程序。我只想做一次 XCTest文档有一个类tearDown()方法,但当我尝试使用它时,它不再具有对应用程序的访问权限: 这是我在使用tearDown方法时得到的所有信息,因此它无法再访问应用程序上的任何元素:如何运行swift XCTest拆卸一次,swift,xctest,xcode-ui-testing,ios-ui-automation,xctestcase,Swift,Xctest,Xcode Ui Testing,Ios Ui Automation,Xctestcase,我使用的是xcode 8.3.3,swift,我试图让tearDown方法只运行一次 我使用此处提供的解决方案启动应用程序一次: 在tearDown方法中,我想注销应用程序。我只想做一次 XCTest文档有一个类tearDown()方法,但当我尝试使用它时,它不再具有对应用程序的访问权限: 这是我在使用tearDown方法时得到的所有信息,因此它无法再访问应用程序上的任何元素: 如何在所有测试结束时只在拆卸中运行一次代码?您可以这样做 import XCTest class TestSu
如何在所有测试结束时只在拆卸中运行一次代码?您可以这样做
import XCTest
class TestSuite: XCTestCase {
static var testCount = testInvocations.count
override func setUp()
{
super.setUp()
TestSuite.testCount -= 1
}
override func tearDown()
{
if TestSuite.testCount == 0 {
print("Final tearDown")
}
super.tearDown()
}
func testA() {}
func testB() {}
func testC() {}
}
你可以这样做
import XCTest
class TestSuite: XCTestCase {
static var testCount = testInvocations.count
override func setUp()
{
super.setUp()
TestSuite.testCount -= 1
}
override func tearDown()
{
if TestSuite.testCount == 0 {
print("Final tearDown")
}
super.tearDown()
}
func testA() {}
func testB() {}
func testC() {}
}
XCTestCase有两种不同的设置/拆卸组合。一个是在单个测试用例级别。另一个是在套件级别。只需覆盖
类
版本即可获得整个套件:
override class func setUp() {
super.setUp()
// Your code goes here
}
override class func tearDown() {
// Your code goes here
super.tearDown()
}
XCTestCase有两种不同的设置/拆卸组合。一个是在单个测试用例级别。另一个是在套件级别。只需覆盖
类
版本即可获得整个套件:
override class func setUp() {
super.setUp()
// Your code goes here
}
override class func tearDown() {
// Your code goes here
super.tearDown()
}
您是指在所有
XCTestCase
s中的所有测试结束时,还是仅在当前XCTestCase
中的测试结束时?在当前XCTestCase中的所有测试结束后,感谢您的澄清。您的意思是在整个XCTestCase
s的所有测试结束时,还是在当前XCTestCase
的测试结束时?在当前XCTestCase的所有测试结束后,感谢您的澄清。谢谢!这个解决方法现在就可以了:)我真希望苹果能提供全面的测试设置和拆卸方法,就像他们说的那样!我需要做的唯一更改是使用“self.testInvocations().count”而不是“testInvocations.count”我认为您不需要self
部分,但是在swift 3中可能仍然需要()
。谢谢!这个解决方法现在就可以了:)我真希望苹果能提供全面的测试设置和拆卸方法,就像他们说的那样!我需要做的唯一更改是使用“self.testInvocations().count”而不是“testInvocations.count”我认为您不需要self
部分,但是在swift 3中可能仍然需要()
。嗨,我在问题中解释了为什么类func对我不起作用。嗨,我在问题中解释了为什么func课程不适合我。