玩笑的嘲笑与执行api查询的类

问题描述 投票:1回答:1

我遇到的所有关于jest和jest-fetch-mock的示例都使用了执行API查询并直接从函数调用返回有效负载的功能。

就我而言,我有不同的设置。我有一个类,它具有一个称为“数据”的属性。在该类中,有一个名为“ get”的方法,该方法使用访存API提取数据并将其存储在data属性中。调用该方法时,它仅基于promise解析或拒绝返回true或false。

在这种情况下,我试图弄清楚如何为此编写单元测试。我的函数不返回获取的数据;仅一个布尔值。

因此,如果我使用jestSpyOn模拟类方法,我将如何设置data属性,然后检索结果?

在我的代码中,我做了这样的事情(不是在测试中,而是在实际应用中:]]

contactStore = new ContactListStore();

// 'all' is a sample param passed
contactStore.get('all').then(res => {
   if(res){
     ...perform action
   }
}); 

您可以看到res参数只是布尔值,如果为true,则contactStore.data将包含从服务器检索到的信息。

因此,要对其进行单元测试,我需要调用模拟get,并设置模拟数据属性。

任何想法如何做到这一点?

我遇到的所有关于jest和jest-fetch-mock的示例都使用了执行API查询并直接从函数调用中返回有效负载的使用函数。就我而言,我有一个不同的设置。我...

unit-testing mocking jest
1个回答
0
投票

在您的模拟方法中,您只需要返回true。

© www.soinside.com 2019 - 2024. All rights reserved.