【发布时间】:2017-12-21 11:34:45
【问题描述】:
假设我有这些代码行:
func reset() {
initializeAnythingElse() {
// AnythingElse
}
initializeHomeData() {
// HomeData
}
}
func initializeHomeData(callback: @escaping (()-> Void)) {
getHomeConfig() {
callback()
}
}
func initializeAnythingElse(callback: @escaping (()-> Void)) {
getAnythingElse() {
callback()
}
}
我想为该代码编写一个单元测试。对于initializeHomeData 和initializeAnythingElse,我可以像这样编写单元测试:
func testInitializeHomeData() {
let successExpectation = expectation(description: "")
sut.initializeHomeData {
successExpectation.fulfill()
}
waitForExpectations(timeout: 1.0, handler: nil)
// Validation goes here
}
func testInitializeAnythingElse() {
let successExpectation = expectation(description: "")
sut.initializeAnythingElse {
successExpectation.fulfill()
}
waitForExpectations(timeout: 1.0, handler: nil)
// Validation goes here
}
我的问题是,如何测试 reset()? 我是否应该在 testReset() 中调用它们,例如:
func testReset() {
testInitializeHomeData()
testInitializeAnythingElse()
}
但我认为这不是正确的实现方式。
【问题讨论】:
-
这么重要的问题!。经过长时间的搜索找到了这个
标签: ios objective-c swift unit-testing testing