UITests帮助程序类中的扩展vs类

时间:2019-07-17 12:13:52

标签: class static extension-methods helper xcuitest

我想为我的UI测试编写帮助程序类。

A.swift(测试用例类)

class A:XCTestCase {
//contains test cases, setUp() & tearDown()
...
}

B.swift(帮助程序类)

方法1:

class B:XCTestCase {
//only helper functions, no setUp, no tearDown and no test cases

func sampleHelper() {
 ...
}
...
}

B().sampleHelper()将调用sampleHelper函数(在 A 中使用)

方法2:

extension XCTestCase {
//only helper functions, no setUp, no tearDown and no test cases
func sampleHelper() {
 ...
}
...
}

sampleHelper()将调用助手功能(在 A 中使用时)

问题:

编写帮助程序类的最佳方法是什么?我知道扩展是静态的,但是如果代码量很大,扩展确实会影响内存/性能吗?

1 个答案:

答案 0 :(得分:0)

如果您想向XCTestCase添加 only 一些自定义方法,最好使用#2 方法并将整个扩展名放在单独的文件/文件夹中您要使用自定义方法的地方附近

另一方面,如果要覆盖XCTestCase的方法,则不要使用方法2 ,因为它违反了语言指令。您可以在Apple Developer Guidehere中阅读更多详细信息。