typescript - 用 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 的验证方法。
解决方案
推荐阅读
- php - Yii2如何在afterSave中重新保存模态
- string - Flutter/Dart:将 HEX 颜色字符串转换为颜色?
- swift - UIcollectionview 滚动时调用 func(didSelectItemAt)
- r - 将函数应用于 dplyr 中的多个组
- tableau-api - 使用最大/最小坐标在地图上绘制矩形边界框
- javascript - 在 node.js 和 socket.io 中进行调查
- javascript - Jquery切换具有特定类的最近项目
- python - 从所有数组值创建椭圆图
- sql - 列表框输出的组合框过滤未按预期工作
- javascript - 谷歌地图出行方式跨海