我遇到的所有jest和jest-fetch-mock示例都使用执行API查询并直接从函数调用返回有效负载的函数。
在我的例子中,我有一个不同的设置。我有一个类,它有一个叫做'data‘的属性。在类中有一个名为"get“的方法,它使用fetch API提取数据并将其存储在data属性中。当调用该方法时,它只是根据promise resolve或reject返回true或false。
在这种情况下,我正在试图弄清楚如何为此编写单元测试。我的函数不返回获取的数据;只返回一个布尔值。
因此,如果我使用jestSpyOn模拟类方法,我将如何设置data属性,然后检索结果?
在我的代码中,我做了这样的事情(不是在测试中,而是在实际的应用程序中):
contactStore = new ContactListStore();
// 'all' is a sample param passed
contactStore.get('all').then(res => {
if(res){
...perform action
}
}); 如您所见,res参数只是一个布尔值,如果为真,则contactStore.data将包含从服务器检索到的信息。
因此,要对其运行单元测试,我需要调用一个mock get,并设置一个mock data属性。
你知道该怎么做吗?
发布于 2020-06-18 07:35:23
在你的mock方法中,你只需要返回true。
https://stackoverflow.com/questions/62439632
复制相似问题