当我尝试在Application类中初始化Firebase时,我的Roboelectric单元测试给出了此异常。
filtered = arrayper.filter({$0.firstName!.starts(with: "te")})
class PersonName {
var firstName: String = ""
var lastName: String = ""
init(_ firstName:String, lastName:String) {
self.firstName = firstName
self.lastName = lastName
}
}
var personNames: [PersonName] = [] // Initialize
filtered.forEach { (personDetail) in
personNames.append( PersonName(personDetail.firstName ?? "", lastName: personDetail.lastName ?? "")) // Filtered values append to array
}
有什么办法可以忽略此异常并使我的测试通过?
答案 0 :(得分:1)
如果您在测试中不需要Firebase,则可以使用以下命令注释测试类
@RunWith(RobolectricTestRunner.class)
@Config(application = Application.class)
使用与应用程序自定义应用程序不同的应用程序。
答案 1 :(得分:0)
组织代码,使其不依赖Firebase连接并传递模拟?通常,让单元测试依赖远程服务不是一个好主意,这更是集成测试或验收测试的领域。
或者,如果太难了,可以在@Before中初始化吗?