大佬教程收集整理的这篇文章主要介绍了ios – 如何测试需要设备特定信息的函数/计算属性?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
///Return the user's name. If this hasn't been saved extract their name from their Enterprise calendar and save it. static var name: String? { if let savedName = defaults.String(forKey: "name") { return savedName } // calendar is a specific EKCalendar members of my company will have. guard let calendar = MeeTingsFetcher().getUserEnterpriseCalendars().first,let parsedName = calendar.title.firstMatch(from: Regex.organizerNameFromEKCalendar) else { return nil } defaults.set(parsedName,forKey: "name") return parsedName } func getEnterpriseCalendars() -> [EKCalendar]{ guard EKEventStore.authorizationStatus(for: .event) == .authorized else { return [EKCalendar]() } for calendar in MeeTingsFetcher.eventStoreClass.calendars(for: .event) { if calendar.source.title.range(of: "IBM") != nil{ return [calendar] } } return [EKCalendar]() }
忽略它返回一个数组,我不确定为什么会这样做:p
> MeeTingsFetcher().getUserEnterpriseCalendar()
> calendar.title.firstMatch(来自:Regex.organizerNameFromEKCalendar)
我的假设是你想要测试它们.但是你提到的问题我认为实际测试你的getUserEnterpriseCalendar函数是否真的在模拟器上正常工作是不可能的,因为它不会在任何地方返回任何东西(除了你在你的构建服务器上创建脚本让模拟器订阅或添加你的日历它)
但是我可以建议你模拟getUserEnterpriseCalendar函数,并在你的单元测试中假设getUserEnterpriseCalendar将在任何环境中返回正确的值.您可能需要输入计算属性才能运行,并将MeeTingFetcher作为参数传递给它.
// function modification static func name(from meeTingFetcher: MeeTingFetcher) -> String { if let savedName = defaults.String(forKey: "name") { return savedName } // calendar is a specific EKCalendar members of my company will have. guard let calendar = meeTingFetcher.getUserEnterpriseCalendar().first,forKey: "name") return parsedName } // In tesTing code. func testOrganizationCalendar() { class mockedMeeTingFetcher: MeeTingFetcher { override func getUserEnterpriseCalendars() -> [EKCalendar] { let calendar1 = EKCalendar() calendar1.title = "ExpectedToMatchRegextitle" return [calendar1] } } XCTestAssertEqual(YourClass.name(from: mockedMeeTingFetcher()),"Hure!!!") }
我希望它甚至能给你一些想法.
以上是大佬教程为你收集整理的ios – 如何测试需要设备特定信息的函数/计算属性?全部内容,希望文章能够帮你解决ios – 如何测试需要设备特定信息的函数/计算属性?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。