UITests 助手 class 中的扩展与 Class
Extension vs Class in UITests helper class
我想为我的 UI 测试编写助手 class。
A.swift(测试用例class)
class A:XCTestCase {
//contains test cases, setUp() & tearDown()
...
}
B.swift(助手class)
方法一:
class B:XCTestCase {
//only helper functions, no setUp, no tearDown and no test cases
func sampleHelper() {
...
}
...
}
B().sampleHelper()
将调用 sampleHelper 函数(在 A 中使用时)
方法二:
extension XCTestCase {
//only helper functions, no setUp, no tearDown and no test cases
func sampleHelper() {
...
}
...
}
sampleHelper()
将调用辅助函数(在 A 中使用时)
问题:
写 helper classes 的最佳方法是什么?我知道扩展是静态的,但如果代码库很大,它真的会影响 memory/performance 吗?
如果您想向 XCTestCase 添加 仅 一些自定义方法,使用 方法 #2 并放置整个扩展将 file/folder 分隔到您要使用自定义方法的地方附近的某个地方
另一方面,如果您想覆盖 XCTestCase 的方法,则不应使用 方法 #2,因为它违反了语言指令。您可以在 Apple Developer Guide and in .
中阅读更多详细信息
我想为我的 UI 测试编写助手 class。
A.swift(测试用例class)
class A:XCTestCase {
//contains test cases, setUp() & tearDown()
...
}
B.swift(助手class)
方法一:
class B:XCTestCase {
//only helper functions, no setUp, no tearDown and no test cases
func sampleHelper() {
...
}
...
}
B().sampleHelper()
将调用 sampleHelper 函数(在 A 中使用时)
方法二:
extension XCTestCase {
//only helper functions, no setUp, no tearDown and no test cases
func sampleHelper() {
...
}
...
}
sampleHelper()
将调用辅助函数(在 A 中使用时)
问题:
写 helper classes 的最佳方法是什么?我知道扩展是静态的,但如果代码库很大,它真的会影响 memory/performance 吗?
如果您想向 XCTestCase 添加 仅 一些自定义方法,使用 方法 #2 并放置整个扩展将 file/folder 分隔到您要使用自定义方法的地方附近的某个地方
另一方面,如果您想覆盖 XCTestCase 的方法,则不应使用 方法 #2,因为它违反了语言指令。您可以在 Apple Developer Guide and in