#测试你的插件

xwbar的头像
2025-12-17 21:52:05
/
福利站

# 测试你的插件 VS Code可以运行和调试支持VS Code API的插件。这些测试会运行在VS Code的特殊实例扩展开发环境中,这个环境有权访问全部的API。我们将这样的测试称为集成测试,因为它远远超越了单独运行在VS Code中的单元测试。本篇侧重于VS Code的集成测试,至于单元测试,你可以使用任何流行的测试框架,如Mocha或者Jasmine。

# Yo Code测试脚手架 yo code 生成器基础插件项目包含了一些示例测试和必要的基础设施。

注意

本篇假设你已经创建了一个Typescript插件(或Javascript插件),不然先参考基础部分

打开一个插件项目目录,打开调试侧边栏选择Extension Tests配置。

选中配置之后,点击绿色的小角标,启动调试。VS Code会在扩展开发环境实例中加载插件,然后运行调试。测试的输出会进入调试控制台:

生成的测试使用了Mocha 测试框架的测试运行器和库。

插件项目文件夹中的附带了src/test,其中有一个index.ts文件,定义了Mocha测试运行器的配置,extension.test.ts中包含着测试示例Something 1。通常来说你可以不管index.ts,不过你也可以调整Mocha的配置。

├── src

│ └── test

│ ├── extension.test.ts

│ └── index.ts

1234你可以在test目录下创建更多的test.ts文件,它们会被自动构建(到out/test)然后运行。测试运行器只会匹配*.test.ts模式的文件。

# 加载测试配置 Extension Tests的配置文件在项目的.vscode\launch.json的文件中。就像Extension配置一样,通过--extensionTestsPath参数,指定编译的测试文件位置(假设是Typescript项目)。

{

"name": "Extension Tests",

"type": "extensionHost",

"request": "launch",

"runtimeExecutable": "${execPath}",

"args": [

"--extensionDevelopmentPath=${workspaceFolder}",

"--extensionTestsPath=${workspaceFolder}/out/test"

],

"outFiles": [

"${workspaceFolder}/out/test/**/*.js"

]

}

12345678910111213# 将参数传递到扩展开发环境中 在加载配置中添加参数列表,然后测试示例就能在你指定的目录或文件中启动测试了。

"args": [

"file or folder name",

"--extensionDevelopmentPath=${workspaceFolder}",

"--extensionTestsPath=${workspaceFolder}/out/test"

]

12345用这个方式,你的测试就可以运行在可预测的文件结构中运行了。

# 从项目中排除测试文件 当你想要分享插件的时候,你可能就不需要测试文件出现在插件包里了。.vscodeignore文件可以让你在使用vsce构建工具的时候排除测试文件。默认情况下,yo code生成的项目会排除test和out/test文件夹。

out/test/**

1# 使用Travis CI自动测试 你也可以用诸如Travis CI自动构建机器来自动运行测试。

为了启动自动插件测试,vscode包需要提供一个可以运行下列任务的测试命令:

下载和解压VS Code 在VS Code内加载插件测试任务 将测试结果输出到控制台中,或在异常中退出 为了完成这项命令,打开你的package.json然后将下列代码添加到scripts中:

"test": "node ./node_modules/vscode/bin/test"

1你可以在顶层配置一个.travis.yml文件,就可以轻松地启用Travis CI了:

sudo: false

os:

- osx

- linux

before_install:

- if [ $TRAVIS_OS_NAME == "linux" ]; then

export CXX="g++-4.9" CC="gcc-4.9" DISPLAY=:99.0;

sh -e /etc/init.d/xvfb start;

sleep 3;

fi

install:

- npm install

- npm run vscode:prepublish

script:

- npm test --silent

12345678910111213141516171819上述脚本可以运行在Linux和macOS上,值得注意的一点是为了在Linux上运行测试,你需要配置一个before_install告诉Linux在构建中启动VS Code。

下面是一些用于测试运行器的可选的环境变量:

名称 描述 CODE_VERSION 运行测试的VS Code版本(如:0.10.10) CODE_DOWNLOAD_URL 下载VS Code的完整URL CODE_TESTS_PATH 执行测试的位置(默认是process.cwd()/out/test or process.cwd()/test) CODE_EXTENSIONS_PATH 加载插件的位置(默认是process.cwd()) CODE_TESTS_WORKSPACE test实例打开的工作区位置(默认是CODE_TESTS_PATH) # 在Windows中使用AppVeyor测试 你也可以在Windows中用AppVeyor进行测试

# 下一步 发开插件 - 学习更多调试插件的内容。 vsce - 使用VSCE命令行工具发布插件。 插件配置清单 - VS Code插件配置清单参阅。 扩展API - 学习更多VS Code扩展性API。

关于蒗的成语
怎么优化使命召唤10画面配置打造极致游戏体验的秘诀何在 怎么优化使命召唤账号