【发布时间】:2017-03-18 21:09:11
【问题描述】:
我收到此错误:
错误:此测试模块使用了使用“templateUrl”的组件 MessagesComponent,但它们从未被编译。请在测试前调用“TestBed.compileComponents”。
当尝试运行这个简单的测试 Angular 2 和 Jasmine 测试时:
let comp: MessagesComponent;
let fixture: ComponentFixture<MessagesComponent>;
describe('MessagesComponent', () => {
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [ MessagesComponent ],
providers: [ {provide: DataService, useValue: {} } ]
})
.compileComponents(); // compile template and css
fixture = TestBed.createComponent(MessagesComponent);
comp = fixture.componentInstance;
});
it('example', () => {
expect("true").toEqual("true");
});
});
我认为这可能与我的 webpack 测试配置有关:
'use strict';
const path = require('path');
const webpack = require('webpack');
module.exports = {
devtool: 'inline-source-map',
module: {
loaders: [
{ loader: 'raw', test: /\.(css|html)$/ },
{ exclude: /node_modules/, loader: 'ts', test: /\.ts$/ }
]
},
resolve: {
extensions: ['', '.js', '.ts'],
modulesDirectories: ['node_modules'],
root: path.resolve('.', 'src')
},
tslint: {
emitErrors: true
}
};
【问题讨论】:
标签: angular jasmine webpack karma-jasmine angular2-template