我在npm模块中安装了一种名为Roboto-Font的字体,并将其导入到我的app.component.ts
中,并在我的scss文件中将其命名为:
@import '~roboto-fontface/css/roboto/roboto-fontface.css';
现在,每次我运行npm run test:ci
时,都会显示有关在测试中找不到字体的错误,问题是我们如何向测试中添加字体插件
有人尝试过使用导入的字体库测试组件吗?
12 07 2018 09:39:15.868:WARN [web-server]: 404: /~roboto-fontface/css/roboto/roboto-fontface.css
ERROR: 'Unhandled Promise rejection:', 'Failed to load ~roboto-fontface/css/roboto/roboto-fontface.css', '; Zone:', 'ProxyZone', '; Task:', 'Promise.then', '; Value:', 'Failed to load ~roboto-fontface/css/roboto/roboto-fontface.css', undefined
下面是我的karma.conf.js
/**
* @author: tipe.io
*/
module.exports = function (config) {
const testWebpackConfig = require('./webpack.test.js')({ env: 'test' });
const configuration = {
/**
* Base path that will be used to resolve all patterns (e.g. files, exclude).
*/
basePath: '',
/**
* Frameworks to use
*
* available frameworks: https://npmjs.org/browse/keyword/karma-adapter
*/
frameworks: ['jasmine'],
/**
* List of files to exclude.
*/
exclude: [],
client: {
captureConsole: true
},
/**
* List of files / patterns to load in the browser
*
* we are building the test environment in ./spec-bundle.js
*/
files: [
{ pattern: './config/spec-bundle.js', watched: false },
{ pattern: './src/assets/**/*', watched: false, included: false, served: true, nocache: false },
{ pattern: './node_modules/admin-lte/plugins/jQuery/jquery-2.2.3.min.js', watched: false }
],
plugins: [
require('node-sass-tilde-importer')
],
/**
* By default all assets are served at http://localhost:[PORT]/base/
*/
proxies: {
"/assets/": "/base/src/assets/"
},
/**
* Preprocess matching files before serving them to the browser
* available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
*/
preprocessors: { './config/spec-bundle.js': ['coverage', 'webpack', 'sourcemap'] },
/**
* Webpack Config at ./webpack.test.js
*/
webpack: testWebpackConfig,
coverageReporter: {
type: 'in-memory'
},
remapCoverageReporter: {
'text-summary': null,
json: './coverage/coverage.json',
html: './coverage/html'
},
/**
* Webpack please don't spam the console when running in karma!
*/
webpackMiddleware: {
/**
* webpack-dev-middleware configuration
* i.e.
*/
logLevel: 'warn',
/**
* and use stats to turn off verbose output
*/
stats: {
/**
* options i.e.
*/
chunks: false
}
},
/**
* Test results reporter to use
*
* possible values: 'dots', 'progress'
* available reporters: https://npmjs.org/browse/keyword/karma-reporter
*/
reporters: ['mocha', 'coverage', 'remap-coverage'],
/**
* Web server port.
*/
port: 9876,
/**
* enable / disable colors in the output (reporters and logs)
*/
colors: true,
/**
* Level of logging
* possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
*/
logLevel: config.LOG_WARN,
/**
* enable / disable watching file and executing tests whenever any file changes
*/
autoWatch: false,
/**
* start these browsers
* available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
*/
browsers: [
'ChromeTravisCi'
],
customLaunchers: {
ChromeTravisCi: {
base: 'ChromeHeadless',
flags: ['--no-sandbox', '--disable-gpu']
}
},
/**
* Continuous Integration mode
* if true, Karma captures browsers, runs the tests and exits
*/
singleRun: true,
/**
* For slower machines you may need to have a longer browser
* wait time . Uncomment the line below if required.
*/
// browserNoActivityTimeout: 30000
};
// Optional Sonar Qube Reporter
if (process.env.SONAR_QUBE) {
// SonarQube reporter plugin configuration
configuration.sonarQubeUnitReporter = {
sonarQubeVersion: '5.x',
outputFile: 'reports/ut_report.xml',
overrideTestDescription: true,
testPath: 'src/app',
testFilePattern: '.spec.ts',
useBrowserName: false
};
// Additional lcov format required for
// sonarqube
configuration.remapCoverageReporter.lcovonly = './coverage/coverage.lcov';
configuration.reporters.push('sonarqubeUnit');
}
if (process.env.TRAVIS) {
configuration.browsers = [
'ChromeTravisCi'
];
}
config.set(configuration);
};
答案 0 :(得分:0)
解决方案:从roboto
中删除了app css
CSS字体,并将其直接添加到app.component.ts