【发布时间】:2018-04-03 06:19:08
【问题描述】:
我对 Ionic 和单元测试非常陌生。当前版本是 3.12.0。我正在使用 Karma 和 Jasmine 进行单元测试。
我有一个名为 test-service.ts
的提供程序import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
/*
Generated class for the TestServiceProvider provider.
See https://angular.io/guide/dependency-injection for more info on providers
and Angular DI.
*/
@Injectable()
export class TestServiceProvider {
constructor(public http: Http) {
console.log('Hello TestServiceProvider Provider');
}
}
然后我在同一个文件夹中有一个测试规范,如下所示,其中包含一个带有测试台的简单测试。
import { TestServiceProvider } from './test-service';
import { TestBed, TestModuleMetadata, async, ComponentFixture } from '@angular/core/testing';
describe('Test Service', () => {
let component: TestServiceProvider;
let fixture: ComponentFixture<TestServiceProvider>;
beforeEach(async( () => {
TestBed.configureTestingModule({
imports: [TestServiceProvider]
}).compileComponents;
}));
beforeEach( () => {
fixture = TestBed.createComponent(TestServiceProvider);
component = fixture.componentInstance;
});
it('should add numbers', () => {
expect(1+1).toBe(2);
});
});
但是当我运行npm test 时,它给了我一个错误
Unexpected value 'TestServiceProvider' imported by the module 'DynamicTestModule'. Please add a @NgModule annotation.
我在这里做错了什么,我该如何解决这个问题?
【问题讨论】:
标签: unit-testing ionic-framework karma-jasmine