У меня возникла проблема с созданием теста для компонента Aurelia. В отладке Karma консоль показывает:
Error: Unable to find module with ID: aurelia-pal-browser
из aurelia-loader-webpack.
Я использую Webpack 4 и Karma 2.
Я пробовал предложения в разделе Отладка отсутствующих модулей, но не не повезло.
Кто-нибудь еще сталкивался с этим раньше?
Конфигурация кармы
module.exports = function(config) {
config.set({
basePath: '',frameworks: ['jasmine'],
files: [
'./setup.js',
'../src/**/*.js',
'./unit/**/*.js'
],
exclude: [],
preprocessors: {
'./setup.js': ['webpack'],
'../src/**/*.js': ['webpack', 'coverage'],
'./unit/**/*.js': ['webpack']
},
reporters: ['progress', 'coverage'],
webpack: {
mode: 'development',
module: {
rules: [{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader'
}
}]
}
},
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
Аурелия тест
import { StageComponent } from 'aurelia-testing';
import { bootstrap } from 'aurelia-bootstrapper';
import { PLATFORM } from 'aurelia-pal';
export class TestViewModel {
}
describe('cbs-toast tests', () => {
let component;
let viewModel;
beforeEach(() => {
viewModel = new TestViewModel();
component = StageComponent
.withResources(PLATFORM.moduleName('cbs-toast'))
.inView('<div><toast></toast></div>')
.boundTo(viewModel);
});
it('loads ok', done => {
component.create(bootstrap).then(() => {
done();
}).catch(e => {
console.log(e.toString());
});
});
afterEach(() => {
component.dispose();
});
});