javascript - Intern 4 测试加载 Dojo2 加载器失败

标签 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 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

它对来自 http://localhost:9000/__intern/browser/remote.html 的文件进行 404ing,因为它试图从错误的路径中获取 dojo2.js,从它的外观来看。如果我将配置脚本中的 dojo2 替换为 __intern/loaders/dojo2.js ,它将在 /node_modules/@dojo/loader/loader.js< 上出现 404/。看起来它只是在寻找错误的路径,我可以做些什么来解决这个问题吗?

实习生.json

{
    "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": ""
}

最佳答案

有几个潜在的问题:

  • 你安装了@dojo/loader了吗?加载器脚本要求将关联的加载器安装为实习生的对等体。
  • 使用 AMD 加载程序时,将测试指定为模块 ID 而不是文件名
  • ./functional/InitTests.js 实际上包含功能测试吗?如果是,则应在 functionalSuites 下指定。

关于javascript - Intern 4 测试加载 Dojo2 加载器失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50354530/

相关文章:

intern - 如何使用 Intern 对非 AMD JavaScript 文件进行单元测试?

javascript - 尝试使用 phantomjs 和 Selenium 运行单元测试时出错

javascript - 实习生 - 窗口未定义

javascript - 在 Node mocha 中使用 expect 请求选项

javascript - 如果 jquery 或 javascript 中第一个字符不是#,则阻止所有字符和符号

docker - 管道 GitHub -> Travis CI -> Docker

javascript - 在 webdriver-io 中使用 beforeEach

javascript - FB 登录 api 的 checkLoginState 在 Angular Controller 中给出未定义

javascript - Firefox 插件面板可以确定何时显示和隐藏吗?

node.js - Cypress 永远不会超过 Ubuntu 上的加载屏幕