【发布时间】:2020-08-06 18:17:02
【问题描述】:
我希望能够使用 JSDOM 作为浏览器,以便使用 karma 以角度运行 jasmine 测试。
我使用以下命令安装了 jsdom 和 karma-jsdom-launcher:
npm install jsdom --save-dev
npm install karma-jsdom-launcher --save-dev
安装软件包后,我将插件添加到 karma.conf.js
require('karma-jsdom-launcher')
但是,当我使用命令 ng test --browsers=jsdom 运行测试时,我得到了
10% building 4/4 modules 0 active23 04 2020 13:09:45.095:INFO [launcher]: Starting browser jsdom
23 04 2020 13:09:57.422:WARN [karma]: No captured browser, open http://localhost:9877/
Error: Uncaught [TypeError: Cannot read property 'origin' of undefined]
以下是我正在使用的版本
Node version - 12
Angular version - 9
"jsdom": "^16.2.2",
"karma": "~4.3.0",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~2.1.0",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.2",
"karma-jsdom-launcher": "^8.0.2",
我错过了什么吗?如何使用 JSDo 而不是 chrome 浏览器运行测试?
【问题讨论】:
-
您可以尝试从
karma.conf.js配置浏览器吗?我的意思是添加config.set({browsers: ['jsdom'],});部分。在此运行之后只需ng test。 -
我也试过了,还是不行
标签: angular karma-jasmine karma-runner jsdom