在Swift 4中的XCUITest中只调用一次方法
我的测试套件包含一些测试用例。我有一些私有函数,我将检查元素是否存在。考虑到我有三个测试用例:在Swift 4中的XCUITest中只调用一次方法,swift,static-methods,xcuitest,xctestcase,Swift,Static Methods,Xcuitest,Xctestcase,我的测试套件包含一些测试用例。我有一些私有函数,我将检查元素是否存在。考虑到我有三个测试用例: func test_1() { ... checkListViewElements() ... } func test_2() { ... } func test_3() { ... checkListViewElements() ... } private func checkListViewElements() { //Chec
func test_1() {
...
checkListViewElements()
...
}
func test_2() {
...
}
func test_3() {
...
checkListViewElements()
...
}
private func checkListViewElements() {
//Checking existence
}
由于我认为每个测试用例都是独立的,所以私有函数<代码> CuthListVeleEngsSe()/Cux>可能会在测试用例中重复。 问题:
var tagForListViewElementsCheck = "firstTime" //Global variable
private func checkListViewElements() {
if tagForListViewElementsCheck == "firstTime" {
//Checking existence
tagForListViewElementsCheck = "notFirstTime"
}
else {
//Skip
}
}
- 当我运行整个测试套件时,所有三个测试用例(test_1、test_2和test_3)都将被执行李>
- 私有方法
将被调用两次。这将导致测试套件完成时间的增加checkListViewElements()
var tagForListViewElementsCheck = "firstTime" //Global variable
private func checkListViewElements() {
if tagForListViewElementsCheck == "firstTime" {
//Checking existence
tagForListViewElementsCheck = "notFirstTime"
}
else {
//Skip
}
}
- 我的代码中有很多函数,比如
。当我运行整个测试套件时,我希望它们只运行一次。(请记住,对于每个测试用例,应用程序都会终止并重新打开)checklistviewmelements()
var tagForListViewElementsCheck = "firstTime" //Global variable
private func checkListViewElements() {
if tagForListViewElementsCheck == "firstTime" {
//Checking existence
tagForListViewElementsCheck = "notFirstTime"
}
else {
//Skip
}
}
- 如果我使用局部变量作为标记,它可以正常工作。但是在这里,我必须为每个私有方法创建每个标记。我真的很讨厌
- 我曾经尝试过
,但在Swift 4中似乎不受支持dispatch\u
- 然后我尝试通过引用静态结构。它似乎也不起作用
如果有其他好的方法可以做到这一点?提前谢谢 您可以使用函数
func setUp()
。每个套房只打一次电话。更多信息请访问