【发布时间】:2020-10-09 10:42:41
【问题描述】:
我有一个包含以下代码的文件:
在文件.ts 中:
let gateways = new Map<string, Set<number>>();
export const handler = async (event: any = {}): Promise<any> => {
let gws: Set<number> | undefined = gateways.get(action);
console.log(gws)
return gws
}
网关变量被实例化并从不同的机制设置一个值。
我正在为处理函数编写单元测试,需要模拟 gateways 变量,以便在调用 gateways.get() 时返回模拟值。
有什么办法可以做到这一点??我尝试使用rewire 模块,但它不起作用。
单元测试用例:
import * as mocha from 'mocha'
import {Substitute, Arg} from '@fluffy-spoon/substitute'
import {handler} from './helpers'
import rewire from 'rewire'
const helper = rewire('./helpers')
helper.__set__('gateways', [1, 2, 3, 4, 5, 6, 7, 8])
describe('test', () => {
before(() => {
})
it('testing handler', () => {
const result = handler('')
})
})
【问题讨论】:
标签: node.js typescript unit-testing mocking mocha.js