【发布时间】:2018-11-23 23:22:20
【问题描述】:
有谁知道为什么这不起作用?
我的 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' });
});
【问题讨论】:
-
我有 1 条反馈表明您的问题标题误导了您。人们不会
unit test3rd 方库/工具的代码。 => 应该是“如何mock/stub/fakereact-native-firebase?”使用正确的词将帮助他人更好地帮助您:) -
感谢@Khoa!您说得很好,我已经编辑了标题以反映您的更改。
标签: firebase react-native testing jestjs react-native-firebase