如何解决使用 XCTest 将测试分析事件传递给多个分析跟踪器
我正在编写测试用例来测试是否使用正确的名称和属性传递了一个分析事件,想了解如何在不使用模拟/存根的情况下测试下面给出的场景我最终想在实际代码流中进行测试捕获事件作为我测试的一部分并对其进行断言。这里每个跟踪器都符合一个协议。
func logEvent(event: Event) {
//trackers are each of the analytics engine ex: mixpanel,clevertap etc
trackers.forEach { observer in
if observer.acceptEvent(eventName: event) {
let eventName = observer.transformEvent(eventName: event)
var params = [String : Any]()
event.param.forEach {
if (observer.acceptProperty(property: $0.key)) {
params[observer.transformProperty(propertyName: $0.key)] = observer.transformValue(value: $0.value)
}
}
params = analyticsHelper.addDefaultProperties(trackedProperties: params)
//would want to test if the right event and params are sent
observer.trackEvent(eventName: eventName,params: params)
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。