You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

终端运行ember test时console.log无输出调试受阻问题咨询

Ember 2.8 Docker环境测试日志输出、调试问题解决方案

终端日志丢失问题修复

  • 替换默认测试运行器:放弃2.8版本默认适配的PhantomJS,改用Headless Chrome,PhantomJS在Docker环境下本身存在日志透传缺陷,且早已停止维护。
  • 修改项目根目录下的testem.js配置,覆盖默认的日志拦截规则:
module.exports = {
  // 保留文件内原有其他配置,新增/修改以下字段
  "browser_args": {
    "Chrome": {
      "ci": [
        "--headless",
        "--disable-gpu",
        "--no-sandbox",
        "--remote-debugging-port=9222",
        "--enable-logging=stderr",
        "--v=1"
      ]
    }
  },
  "tap_quiet_logs": false,
  "report_passed_tests": true
}
  • 测试启动命令替换为ember test --launch=Chrome --test-port=7357 --host=0.0.0.0,执行后console.log、QUnit原生输出都会直接透传到当前终端。如果需要自定义QUnit日志格式,可以在tests/test-helper.js中添加日志桥接逻辑,避免浏览器上下文和Node进程通信时丢日志:
QUnit.log(function(details) {
  const logContent = `[${details.result ? 'PASS' : 'FAIL'}] ${details.module} > ${details.name}: ${details.message || ''}`;
  if (window.Testem) {
    window.Testem.emit('test-metadata', { message: logContent });
  }
});

VS Code调试失效问题修复

  • 启动Docker容器时新增端口映射规则,将测试服务端口、Chrome调试端口绑定到宿主机:启动命令追加参数-p 7357:7357 -p 9222:9222。
  • VS Code安装适配老版本Chrome调试协议的Debugger for Chrome扩展,在项目.vscode/launch.json中添加如下调试配置:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Attach Docker Ember Test",
      "type": "chrome",
      "request": "attach",
      "port": 9222,
      "address": "localhost",
      "webRoot": "${workspaceFolder}",
      "pathMapping": {
        "/": "${workspaceFolder}/",
        "/assets": "${workspaceFolder}/tmp/classic-tests"
      },
      "sourceMaps": true
    }
  ]
}
  • 启动测试时改用监听模式ember test --server --launch=Chrome --test-port=7357 --host=0.0.0.0,等终端提示Chrome实例连接成功后,在VS Code调试面板选中刚才新建的配置启动,即可正常在源码、测试代码中打断点调试,所有运行时日志也会同步输出到VS Code调试控制台。

注意:容器内不要用root用户执行ember命令,否则Headless Chrome会因权限限制无法开启远程调试端口、出现日志截断问题,提前切换到普通用户并给项目目录分配对应读写权限即可。

内容的提问来源于stack exchange,提问作者David Pell

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 06:36:37