测试中如何在QuickPick中选择项目?

问题描述 投票:0回答:2

我正在编写一个 vs code 扩展,它提供一个命令,当执行该命令时,会显示一个快速选择列表,一旦用户从中选择任何项目,就会执行进一步的操作。

现在我想编写一个涵盖此场景的测试,如何在执行命令后模拟用户的选择?

visual-studio-code vscode-extensions
2个回答
1
投票

使用 JavaScript 和 Chai/Sinon 存根,可以像这样存根 vscode 命令面板函数:

quickPickStub = mySandBox.stub(vscode.window, 'showQuickPick');
inputBoxStub = mySandBox.stub(vscode.window, 'showInputBox');

然后指示他们返回什么:

quickPickStub.resolves({label: 'hello world'});
inputBoxStub.resolves('hello world');

AFAIK,不可能模拟用户在树视图上选择项目。


0
投票

我建议查看 Red Hat 提供的 vscode-extension-tester 软件包。可以在此 GitHub 存储库中找到它:https://github.com/redhat-developer/vscode-extension-tester/wiki/Input#quickpickitem

使用此包,您可以按照文档中提供的代码片段解决您的问题:

import { InputBox } from 'vscode-extension-tester';
const input = InputBox.create();
const picks = await input.getQuickPicks();
await input.selectQuickPick(1);
© www.soinside.com 2019 - 2024. All rights reserved.