最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

何时调用异步函数时进行开玩笑的检查

IT培训 admin 10浏览 0评论

何时调用异步函数时进行开玩笑的检查

我正在尝试测试是否调用了异步函数(触发并忘记)。

Content.js

  export async function fireAndForgetFunction() {
    ...  
  }

  export async function getData() {
    ...
    fireAndForgetFunction()
    return true;
  }

我想测试是否已多次调用fireAndForgetFunction

Current test

  import * as ContentFetch from '../Content';

  const { getData } = ContentFetch;
  const { fireAndForgetFunction } = ContentFetch;

  it('test',async () => {
    const spy = jest.spyOn(ContentFetch, 'fireAndForgetFunction');

    await getData();

    expect(spy).toHaveBeenCalled();
  })

测试结果出错

    Expected number of calls: >= 1
    Received number of calls:    0

我该如何进行测试?

回答如下:

如果您不希望在fireAndForgetFunction中等待getData(),我认为是这样,那么在创建间谍时提供fireAndForgetFunction的模拟实现是最佳选择:

何时调用异步函数时进行开玩笑的检查

我正在尝试测试是否调用了异步函数(触发并忘记)。

Content.js

  export async function fireAndForgetFunction() {
    ...  
  }

  export async function getData() {
    ...
    fireAndForgetFunction()
    return true;
  }

我想测试是否已多次调用fireAndForgetFunction

Current test

  import * as ContentFetch from '../Content';

  const { getData } = ContentFetch;
  const { fireAndForgetFunction } = ContentFetch;

  it('test',async () => {
    const spy = jest.spyOn(ContentFetch, 'fireAndForgetFunction');

    await getData();

    expect(spy).toHaveBeenCalled();
  })

测试结果出错

    Expected number of calls: >= 1
    Received number of calls:    0

我该如何进行测试?

回答如下:

如果您不希望在fireAndForgetFunction中等待getData(),我认为是这样,那么在创建间谍时提供fireAndForgetFunction的模拟实现是最佳选择:

发布评论

评论列表 (0)

  1. 暂无评论