Sah*_*cha 5 unit-testing firebase xctest swift
我使用 Firebase 在 Swift 中构建了一个应用程序,其中大部分功能只有在用户登录后才能访问。例如,我有一个预算页面,可以从数据库中获取事件预算,但这只能在用户登录后才能完成。登录。
有人能建议我如何测试需要调用数据库的功能吗?我本以为我需要在测试类中登录用户,然后使用这些详细信息来测试我的控制器,但每次它都返回零?我什至尝试在测试类中运行登录视图控制器来验证用户身份,但这也不起作用。
谢谢你!
对于单元测试,最好消除所有外部依赖项。我更喜欢这样做的一种方法,特别是对于任何类型的网络或数据库,是创建一个模拟对象并注入模拟对象,而不是使用实际的网络模块或数据库。这将涉及依赖注入的一些重构,并将 Firebase 的管理器抽象为可以模拟的协议。使用 MockFirebase,您可以拥有所有“身份验证”,而无需使用网络或访问实际数据库。
如果您的 Firebase 管理器设置为单例,那么用于进行模拟的一个很好的资源是:
有关一般模拟的信息,这里是另一个链接:
https://www.swiftbysundell.com/posts/mocking-in-swift
| 归档时间: |
|
| 查看次数: |
4271 次 |
| 最近记录: |