angular - 如何使用 Travis(没有捕获的浏览器)进行 Angular 单元测试?
问题描述
我的单元测试在我的 shell 中使用“ng test”工作,但不适用于 Travis:Travis 中没有捕获的浏览器
我正在使用业力,karma.conf.js:
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],
client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
files: [
{ pattern: 'src/app/*.ts', served: true, watched: true, included: false},
{ pattern: 'src/app/**/**/*.spec.ts', served: true, watched: true, included: false}
],
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
//browsers: ['Chrome'],
browsers: ['ChromeNoSandbox'],
customLaunchers: {
ChromeNoSandbox: {
base: 'Chrome',
flags: ['--no-sandbox']
}
},
singleRun: false,
browserNoActivityTimeout: 25000
});
};
然后,这是我的 .travil.yml :
language: node_js
sudo: required
node_js:
- node
# addons:
# chrome: stable
# firefox: latest
apt:
sources:
- google-chrome
packages:
- python
- golang
- google-chrome-stable
- google-chrome-beta
before_install:
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
- sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
- sudo apt-get update
- sudo apt-get install google-chrome-stable
- export CHROME_BIN=usr/bin/google-chrome
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
before_script:
- "sudo chown root /opt/google/chrome/chrome-sandbox"
- "sudo chmod 4755 /opt/google/chrome/chrome-sandbox"
# No need these two lines if you use latest version of node
# - npm install
# - npm update
- yarn
# - export CHROME_BIN=usr/bin/google-chrome
# - export DISPLAY=:99.0
# - sh -e /etc/init.d/xvfb start
# - sudo apt-get update
# - sudo apt-get install -y libappindicator1 fonts-liberation
# - wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
# - sudo dpkg -i google-chrome*.deb
# install:
# - npm install -g @angular/cli
script:
# - npm test
- yarn e2e
- yarn lint
- yarn test
我看到了很多解决方案,但没有什么对我有用。
我不知道是否有链接,但 Karma start 在我的项目中也不起作用,出现此错误: '@angular-devkit/build-angular/plugins/karma' karma 插件旨在用于在 Angular CLI 中,并且在它之外无法正常工作
解决方案
我解决了这个问题。我刚刚通过 export CHROME_BIN=chromium-browser 在 .travils.yml 中更改了 export CHROME_BIN=usr/bin/google-chrome,并为 ng 测试添加了一个选项 --watch=false。
推荐阅读
- python - Pandas 按日期分组和计数。然后将计数转置为列名
- python - 如何将列表的一系列元素添加到python中的另一个列表
- c# - 更新选定值后如何更新数据网格
- python - Python glob 没有找到任何结果
- mysql - 我可以使用带有 MySQL 事务的文件来更新 mariadb 吗?
- ios - 更新 xcode 后反应原生 8badf00d
- python - 来自一些 csv 文件的 Python 字典
- java - 避免为空元素生成 XML 自闭合标签并生成自定义
开始标签 - android - 使用新的 androidx.BiometricPrompt 通过生物识别注册使密钥无效
- kotlin - 在 Dispatchers.IO 上启动 Kotlin 协程时出错