首页 > 解决方案 > 用 Jest 测试功能

问题描述

我是 jest 的新手,我需要为一个函数编写一个 jest 测试。代码如下所示:

我有一个外部库,比如“abcd”。'abcd' 是一个节点模块,它仅在运行时可用,即在构建期间,我们将此依赖项复制到 zip 文件夹(npm -i 不适用于此包/模块)。请在文件声明及其测试下方找到。

--- hai.ts----

const pp=require('abcd')
const cc:any=null;
export const fun("func1", async()=>{
const req={
"hai":"hello"
}

cc=new Abcd({
-- constructor arguments
});

cc.verify( req, (err:String, data:String)=>{
   if(err)
      return reject;
   resolve(data);
}
});

由于“abcd”不是打字稿模块,我创建了一个 desc.d.ts 并且它有一行 : declare module "abcd"

desc.d.ts 包含在“include”下的 ts.config 文件中。

--test.ts---

import Abcd from 'abcd';
import hai from '../src/hai';
import {mocked} from 'ts-jest/utils'; 
jest.mock('abcd');
const mockedAbcd=mocked(Abcd);

test('test the function',()=>{
const mockVerify = {
    verify: jest.fn(() => { return Promise.reject(false)})
  };
  
  Abcd.mockImplementation(() => mockVerify);
hai.func1();
 //how to test the **verify method** of function func1 with callback?

})

我需要帮助来编写测试以涵盖具有 callbak 的验证方法。

标签: typescriptjestjsts-jest

解决方案


推荐阅读