我正在为Typescript进行Jest单元测试,我创建了一个方法
addNumbers:() {
return 6;
}
这只是用于测试目的的静态测试方法。
我用玩笑创建了一个单元测试
spyOn(object, 'addNumbers').mockReturnValue(6);
expect(object.addNumbers).toHaveBeenCalled(); // expect is success
单元测试工作正常,但是在检查代码覆盖率“ return 6;”时不包括在内。
不知道缺少什么,配置或任何其他问题。
由于此操作成功,需要在实际代码中实现。
如果需要其他任何信息,请告诉我。
预先感谢...
答案 0 :(得分:0)
spyOn(object,'addNumbers')。mockReturnValue(6);
您在这里嘲笑了该函数,这就是为什么不调用原始函数的原因。
只需要这样使用,不要只嘲笑spyOn
const addNumbersSpy = spyOn(object, 'addNumbers')
expect(addNumbersSpy).toHaveBeenCalled()
答案 1 :(得分:0)
实际代码和代码覆盖率图像。该代码涵盖了使用模拟
主要代码:
export class Main {
addNumber(a: number, b: number) {
return a + b;
}}
export default Main;
单元测试代码
import { Main } from './main'
describe('Add Number', () => {
test('sum', () => {
let a = new Main();
let b = jest.spyOn(a, 'addNumber').mockReturnValue(3).mockImplementation(() => 3);
expect(a.addNumber(1, 2)).toEqual(3)
})
})