Javascript 实习生4测试未能加载Dojo2加载程序
我正在从实习生3/requirejs迁移到实习生4/dojo2。我正在尝试运行一个测试,在功能检查之后,它将在加载带有此错误的测试之前立即失败:Javascript 实习生4测试未能加载Dojo2加载程序,javascript,automated-tests,intern,Javascript,Automated Tests,Intern,我正在从实习生3/requirejs迁移到实习生4/dojo2。我正在尝试运行一个测试,在功能检查之后,它将在加载带有此错误的测试之前立即失败: Listening on localhost:9000 (ws 9001) Tunnel started ‣ Created remote session chrome 66.0.3359.139 on XP (bc531663-f9f7-4cba-9038-6ab15808e9a0) Suite chrome 66.0.3359.139 on XP
Listening on localhost:9000 (ws 9001)
Tunnel started
‣ Created remote session chrome 66.0.3359.139 on XP (bc531663-f9f7-4cba-9038-6ab15808e9a0)
Suite chrome 66.0.3359.139 on XP FAILED
Error: Unable to load /..\node_modules\intern/loaders/dojo2.js
at HTMLScriptElement.<anonymous> <node_modules\intern\browser\remote.js:667:23264>
TOTAL: tested 1 platforms, 0 passed, 0 failed; suite error occurred
有几个潜在问题:
- 您是否安装了
?加载程序脚本要求将关联的加载程序作为Intern的对等程序安装@dojo/loader
- 使用AMD加载程序时,将测试指定为模块ID而不是文件名
是否实际包含功能测试?如果是,则应在/functional/InitTests.js
下指定功能套件
套件
是否仅用于单元测试套件?是的,套件
用于单元测试,功能套件
用于功能测试。这两种类型在编写时看起来非常相似,但只有功能测试被赋予一个远程
对象,并且功能测试总是在节点环境中运行。如果我将单元测试路径放入一个套件
数组中,就像在OP中一样,它应该按原样工作吗?通过这样做,我现在在单元测试方面遇到了同样的问题。suites
用于单元测试,functionalSuites
用于功能测试。啊,对不起,我的意思是使用webdrivers运行单元测试,而不是访问浏览器运行程序。
{
"loader": {
"script": "dojo2",
"config": {
"waitSeconds": 60,
"packages": [ {
"name": "objects",
"location": "objects"
}, {
"name": "edits",
"location": "./",
"main": "edits"
}, {
"name": "prepare",
"location": "TESTS",
"main": "prepare"
}, {
"name": "common",
"location": "./",
"main": "common"
}, {
"name": "socket",
"location": "http://localhost:2020/socket.io",
"main": "socket.io"
}
]
}
},
"suites": [
"./functional/InitTests.js"
],
"environments": [ {
"browserName": "chrome"
}
],
"tunnelOptions": {
"drivers": [
"chrome"
],
"port": 4444,
"version": "3.4.0",
"maxConcurrency": 1,
"runnerClientReporter": {
"writeHtml": false
}
},
"tunnel": "null",
"leaveRemoteOpen": true,
"grep": ""
}