我在将值插入测试文件时遇到问题:
import device from '../device'
let execute = () => {
if (device.isAndroid()) {
return true
else {
return false
}
}
现在为测试文件:
jest.mock('../device')
import device from '../device'
describe('when the device is Android', () => {
let device
beforeEach(() => {
device = jest.fn().mockImplementation(() => {
return {
isAndroid: () => { return true }
}
})
})
it('returns true', () => {
let results = execute()
expect(result).toEqual(true)
})
})
测试失败并返回false
。我做错了什么?
答案 0 :(得分:1)
你需要用一个开玩笑的间谍和模拟实现来模拟'../device'
:
jest.mock('../device', ()=>{return {isAndroid: jest.fn()}})
import device from '../device'
describe('when the device is Android', () => {
beforeEach(() => {
device.isAndroid.mockImplementation(() => true)
})
it('returns true', () => {
let results = execute()
expect(result).toEqual(true)
})
})