gpt4 book ai didi

firebase - 如何模拟/ stub react-native-firebase?

转载 作者:行者123 更新时间:2023-11-28 20:36:56 27 4
gpt4 key购买 nike

有谁知道为什么这行不通?

我的 api 调用:

import firebase from 'react-native-firebase';

export default function getAuth() {
return new Promise((resolve) => {
firebase.auth().onAuthStateChanged((user) => {
resolve(user);
});
});
}

我的单元测试失败,“预期调用一个断言但收到零个断言调用”。

import firebase from 'react-native-firebase';

import getAuth from '../'; // eslint-disable-line

jest.mock('react-native-firebase', () => {
return {
auth: () => {
return {
onAuthStateChanged: () => {
return Promise.resolve({
name: 'Shaun',
});
},
};
},
};
});

it('resolves a promise containing the user', async () => {
expect.assertions(1);
const response = await getAuth();
expect(response).toEqual({ name: 'Shaun' });
});

最佳答案

  • 您返回了一个已解决的 promise => 之后不会调用任何东西。
  • 您的onAuthStateChanged 是一个回调函数

相反,将 onAuthStateChanged 的实现替换为:

onAuthStateChanged: jest.fn(cb => cb({ name: 'Shaun' }));

enter image description here

关于firebase - 如何模拟/ stub react-native-firebase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50853124/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com