【发布时间】:2020-03-02 19:58:51
【问题描述】:
我是编写测试用例的新手,所以请不要提出任何建议。
问题 - 我如何为(闭包/高阶函数)而不是 api 调用闭包(不包括它们)编写测试用例, 为了获得100%的覆盖率,我只停留在这部分。
代码 -
init () {
var items:[ReturnPaymentsOptionsModel] = []
items.append(ReturnPaymentsOptionsModel(text: "Unexpected payment or \nunknown sender", isSelected: false))
items.append(ReturnPaymentsOptionsModel(text: "Incorrect currency", isSelected: false))
items.append(ReturnPaymentsOptionsModel(text: "Incorrect amount", isSelected: false))
items.append(ReturnPaymentsOptionsModel(text: "Duplicate", isSelected: false))
items.append(ReturnPaymentsOptionsModel(text: "Auction/Order cancelled", isSelected: false))
items.append(ReturnPaymentsOptionsModel(text: "Charges exceeds the principle amount", isSelected: false))
let observableToggleItems = Observable.just(items)
let tappedItemAction = Observable.combineLatest(observableToggleItems, itemTapped)
.map { argument -> [ReturnPaymentsOptionsModel] in // for this closure im stuck
let (items, indexPath) = argument
var modifiedItems = items
for index in modifiedItems.indices {
if index == indexPath.row {
modifiedItems[index].isSelected.toggle()
} else {
modifiedItems[index].isSelected = false
}
}
return modifiedItems
}.startWith(items)
didFetchToggleItems = Observable.merge(getToggleItems.withLatestFrom(observableToggleItems), tappedItemAction)
}
【问题讨论】:
标签: ios swift xctest xctestcase