使用Jest酶进行if(!response.error)单元测试

时间:2019-06-11 17:37:54

标签: unit-testing jestjs response

使用 Jest

进行以下测试
result = [v for n,v in zip(l,l[1:]) if n == 'Bob']

这是主文件 JS

it('Test createAccount function ',async() => {
    wrapper.setProps({})
    wrapper.find('AccountForm').setState({});
    wrapper.update();
    await 
    expect(wrapper.find('AccountForm').instance().createAccount()).toBeDefined()
});

不太确定如何进行单元测试以测试响应和返回

async createAccount(){
    const { user, services } = this.props;
    let AccountBody = { //list of this.states }
    let response = await Models.postAccount({
        user,
        services,
        firmId: FirmId,
        body: AccountBody
    })
    if(!response.error) { 
        return true;
    } else {
        return false;
    }
}

如何在上面的测试中调用响应,以确保正确测试了整个功能。我过去曾经做过类似的单元测试,但是对于异步/等待和响应却不太熟悉

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在测试用例中需要模拟模型.postAccounts

models.postAccounts = jest.fn().mockImplementation(() => Promise.resolve("YourResponse"))