Kulwinder Singh
03/09/2020, 7:58 AMFirebaseAuth.getInstance().signInWithCustomToken(token).addOnCompleteListener{}
and other Task like addOnSuccessListener
and addOnFailureListener
using MockK ?Samme Kleijn
03/09/2020, 8:09 AM@MockK(relaxed = true)
private lateinit var mockTask: Task<List<FirebaseVisionBarcode>>
every { mockTask.addOnFailureListener(any()) } answers {
firstArg<OnFailureListener>().onFailure(mockk())
mockTask
}
To mock invoke a failureMatej Drobnič
03/09/2020, 8:15 AMMatej Drobnič
03/09/2020, 8:16 AMTasks.forException(...)
Kulwinder Singh
03/09/2020, 8:21 AMFirebaseAuth.getInstance().signInWithCustomToken(token).addOnCompleteListener
i have created
lateinit var mockAuthTask: Task<AuthResult>
...
beforeEachTest{
.....
every { mockAuthTask.addOnSuccessListener(any()) } answers { firstArg<OnCompleteListener<AuthResult>>().onComplete(mockk()) }
}
Kulwinder Singh
03/09/2020, 8:22 AMKulwinder Singh
03/09/2020, 8:29 AMKulwinder Singh
03/09/2020, 8:29 AMMatej Drobnič
03/09/2020, 8:38 AMval result = AuthResult(...)
val authTask = Tasks.forResult(result)
Kulwinder Singh
03/09/2020, 10:06 AMKulwinder Singh
03/09/2020, 10:07 AMKulwinder Singh
03/09/2020, 10:09 AMFailure(e=io.mockk.MockKException: no answer found for: Task(#17).getException())
i think i'm getting this because we are sending AuthResult
as mockobject but now i don't know how to solve it 😞Matej Drobnič
03/09/2020, 10:48 AMMatej Drobnič
03/09/2020, 10:48 AMmockk()
instead of implementing AuthResult I guessMatej Drobnič
03/09/2020, 10:48 AMFakeAuthResult
class that implements the interfaceKulwinder Singh
03/09/2020, 10:53 AMmock(relaxed=true)
workedKulwinder Singh
03/09/2020, 10:55 AMMatej Drobnič
03/09/2020, 11:15 AMMatej Drobnič
03/09/2020, 11:16 AMMatej Drobnič
03/09/2020, 11:16 AMTasks.forResult(mockk())
is a good compromiseMatej Drobnič
03/09/2020, 11:16 AMMatej Drobnič
03/09/2020, 11:17 AMKulwinder Singh
03/09/2020, 11:28 AMKulwinder Singh
03/09/2020, 11:29 AMno answer found for: SomeClass(#3).setSomeVariable(dummy)
Kulwinder Singh
03/09/2020, 11:30 AMevery
for setters of fields ?luke
03/24/2020, 3:21 AM