【发布时间】:2018-06-03 00:33:17
【问题描述】:
我正在尝试找出一种对函数进行单元测试的方法,其中包括 vscode 扩展 api 中包含的帮助函数,例如 showQuickPick。示例用法:vscode.window.showQuickPick(['one', 'two']);。
我一直在尝试对它们进行存根和模拟,但是虽然我不确定这是否是正确的方法,但无论如何我都没有运气。
一个完整的例子可能类似于:
logic.js
export async function unitTestMe(): Promise<string> {
const quickPickAnswer: string = vscode.window.showQuickPick(['one', 'two']);
return quickPickAnswer;
}
logic.test.js
import { unitTestMe } from './logic';
describe('should return user input', () => {
test('', () => {
const expected: string = 'expect me';
const actual: string = await unitTestMe();
expect(actual).to.eql(expected);
})
})
【问题讨论】:
-
你能解释一下当你存根或嘲笑 showQuickPick() 时“没有任何运气”是什么意思吗?您是否有错误,或者您只是担心您的解决方案可能是“难闻的代码”?
-
好吧。我不知道如何模拟/存根 showQuickPick 作为 unitTestMe() 对 vscode 扩展 api 的内部调用,我认为这可能是问题所在。
标签: typescript unit-testing visual-studio-code mocha.js vscode-extensions