如何使用Mockk设置Firestore模拟?

时间:2019-03-31 13:57:34

标签: firebase kotlin google-cloud-firestore mockk

我有一个类,其中包含调用FirebaseFirestore集合的方法的方法。我想对其进行单元测试,所以我尝试模拟FirebaseFirestore。现在,我只需要使用verify来检查是否调用了Firestore的方法。

我的方法:

fun addItem(item: Item) {
    val TAG = "addItem"

    db.collection("Items")
        .add(item)
        .addOnSuccessListener { documentReference ->
            Log.d(TAG, "DocumentSnapshot added with ID: ${documentReference.id}")
        }
        .addOnFailureListener { e ->
            Log.w(TAG, "Error adding document", e)
        }
}

我的测试:

@Test
fun addItem() {
    val newItem = Item("1", "some data")
    val path = "Items"
    this.itemService.addItem(newItem)
    verify(exactly = 1) { db.collection(path).add(any()) }
    confirmVerified(db)
}

在C#中,我将创建一个新列表并设置模拟以调用列表的方法(例如添加,删除等),然后检查结果是否具有正确的数字(如count)。我不知道如何在这里做。

0 个答案:

没有答案