0

我们在 TypeScript 中有一些前端自动化测试,并在 VS Code 中使用 TestCafe TestRunner 扩展。

要运行它们,我们只需右键单击文件并单击“TestCafe:在 Firefox 中运行测试”。

如果 Windows 路径包含“节点”的正确路径,则它运行良好。但是......我们为不同的应用程序安装了几个版本的节点,并且希望使用本地(相对)路径,而不是来自环境变量。

我在这里和谷歌搜索,无法说明如何设置它。

运行测试时,终端打开并运行以下很长的命令:

${env:NODE_OPTIONS}='--require "c:/Program Files/Microsoft VS Code/resources/app/extensions/ms-vscode.js-debug/src/bootloader.bundle.js" --inspect-publish-uid=http'; ${env:VSCODE_INSPECTOR_OPTIONS}='{"inspectorIpc":"\\\\.\\pipe\\node-cdp.12008-1.sock","deferredMode":false,"waitForDebugger":"","execPath":"<nodePathFromWindowsEnv>\node.exe","onlyEntrypoint":false,"autoAttachMode":"always","fileCallback":"C:\\Users\\<ME>\\AppData\\Local\\Temp\\node-debug-callback-948a46317a826eb1"}'; & '<nodePathFromWindowsEnv>\node.exe' '--no-deprecation' '.\node_modules\testcafe\lib\cli\index.js' 'firefox' '<dirPath>\<file>.e2e.ts' '--skip-js-errors'

所以......我“只是”想为2个节点路径(nodePathFromWindowsEnv)设置一个相对(或绝对)路径

4

1 回答 1

0

在 VS Code 中运行 TestCafe 测试之前,您可以使用Node 版本管理器来切换不同的 Node.js 版本。在这种情况下,不需要为 Node.js 指定不同的补丁:

C:\testcafe\support\node_path>nvm use 12.22.0
Now using node v12.22.0 (64-bit)

C:\testcafe\support\node_path>"C:\Program Files\nodejs\node.exe" -v
v12.22.0

C:\testcafe\support\node_path>nvm use 14.17.6
Now using node v14.17.6 (64-bit)

C:\testcafe\support\node_path>"C:\Program Files\nodejs\node.exe" -v
v14.17.6

您还可以参考TestCafe TestRunner 扩展源代码以了解它如何运行测试并为高级功能做出贡献。

于 2021-09-28T14:29:00.047 回答