【发布时间】:2017-11-22 12:22:24
【问题描述】:
在我的单元测试套件中,我有以下模拟:
beforeEach(() => {
NativeModules.MyModule = {
myMethod: jest.fn()
};
})
还有这个使用它的单元测试:
it('has some functionality', () => {
console.log(JSON.stringify(NativeModules.MyModule.myMethod));
expect(NativeModules.MyModule.myMethod).toHaveBeenCalledTimes(1);
});
console.log 函数打印 undefined 但测试通过。
但是,如果我添加这一行:
expect(undefined).toHaveBeenCalledTimes(1);
测试将失败并显示以下消息:
expect(jest.fn())[.not].toHaveBeenCalledTimes()
jest.fn() value must be a mock function or spy.
Received: undefined
那么如果NativeModules.MyModule.myMethod是undefined,那么单元测试怎么能通过呢?
【问题讨论】:
-
不能
JSON.stringify函数
标签: javascript react-native jestjs