Я работаю над приложением Ioni c 3 (Angular type), и для реализации unit testing
я использую Jasmine и Karma . Структура проекта Ioni c 3 (тип Angular) не предоставляет файл .spe c .ts для страниц / компонентов / поставщиков. Итак, я вручную создал файл .spe c для страниц, но он показывает ошибку «Не удается найти модуль» @ angular / core »и ошибку« Не удается найти модуль »@ angular / core / testing».
Поскольку эти файлы не могут извлекать модули или не могут получить доступ к этим модулям.
Я пробовал следующие способы:
- Удалил node_modules и переустановил его (npm install).
- Команда Run npm i @ angular / core , с и без --save-dev.
- Перезапустил также Sublime и Terminal после новой установки.
Но это не не принесет никакого решения этой проблемы.
Итак, есть ли способ решить эту проблему? Или я неправильно внедряю юнит-тестирование Жасмин-Карма? Пожалуйста, предложите.
karma.conf. js:
var webpackConfig = require('./webpack.test.js');
module.exports = function(config) {
var _config = {
basePath: '../',
frameworks: ['jasmine'],
files: [{pattern: 'src/pages/**/*.spec.ts', watched: true},
{ pattern: './src/pages/**/*',
watched: false,
included: false,
served: true,
nocache: false
}],
proxies: {'/assets/': '/base/src/pages/'},
preprocessors: {'**/*.spec.ts' : ["webpack"]},
webpack: webpackConfig,
webpackMiddleware: {stats: 'errors-only'},
webpackServer: {noInfo: true},
browserConsoleLogOptions: {
level: 'log',
format: '%b %T: %m',
terminal: true
},
coverageIstanbulReporter: {
reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
reporters: config.coverage ? ['kjhtml', 'dots', 'coverage-istanbul'] : ['kjhtml', 'dots'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
};
config.set(_config);
};