尝试调试TestCafe测试时VS代码出错

时间:2018-11-08 12:50:21

标签: javascript debugging visual-studio-code e2e-testing testcafe

我的test.js文件包含此行,以便从page-model.js文件导入“ Page”类: 从“ ./page-model”导入页面;

当我使用命令“ npm test”通过Shell运行test.js时,它运行良好。

尝试在Visual Studio代码上调试Testcafe测试时,出现“意外标识符”错误。 这是完整的消息: “

facetFilter

(function (exports, require, module, __filename, __dirname) { import Page from './page-model';
                                                                 ^^^^

SyntaxError: Unexpected identifier
    at new Script (vm.js:79:7)
    at createScript (vm.js:251:10)
    at Object.runInThisContext (vm.js:303:10)
    at Module._compile (internal/modules/cjs/loader.js:656:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
    at Function.Module._load (internal/modules/cjs/loader.js:529:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:741:12)
    at startup (internal/bootstrap/node.js:285:19)
Waiting for the debugger to disconnect...

谢谢!

1 个答案:

答案 0 :(得分:1)

您的launch.json配置在program属性中指定测试脚本:

"program": "${workspaceRoot}/testcafe-example/test.js" 

使用此配置,Visual Studio Code尝试以常规的Node.js脚本执行脚本,但由于Node.js不支持import语句而失败。

按照Debug in Visual Studio Code食谱中的描述,在此属性中指定主要的TestCafe脚本:

"program": "${workspaceRoot}/node_modules/testcafe/bin/testcafe.js"

如果要运行特定的测试脚本,请用测试脚本的路径替换"{relativePath}"属性中的"arguments"变量:

"program": "${workspaceRoot}/node_modules/testcafe/bin/testcafe.js"
"args": [
    "firefox",
    "${workspaceRoot}/testcafe-example/test.js"
],