我有一个要测试的方法A
的类myFun
。类A
获取类B
的guice注入实例,而myFun
使用B.getRecordsFromDatabase(groupId: String)
检索组的记录。对于我的单元测试,我想模拟B
的方法调用,使其返回10条随机记录。然后,我在myFun
中有逻辑,它计算返回记录的数量。我试图模拟B
的实例。但是,这不会使B.getRecordsFromDatabase()
调用使用模拟实例的方法。
class A @Inject constructor(b: B, ...) {
fun myFun(groupId: String) {
val counts = b.getRecordsFromDatabase(groupId)
// logic to check counts and throws exception if certain condition is met
}
}
class B(...) {
fun getRecordsFromDatabase(groupId: String): List<MyRecord> {
// query database and return records
}
}
我是否可以模拟B
的guice注入实例的行为?