我正在开发一个由 Angular-Cli 生成的 Angular 2 RC4 项目,我的每个单元测试都出现相同的错误。
Error: Invalid provider - only instances of Provider and Type are allowed, got: [object Object] (line 170)
这是一个规范的简单示例:
import {addProviders,inject} from "@angular/core/testing";
import {AppComponent} from "./app.component";
beforeEach(() => {
addProviders([AppComponent])
});
describe('Component : App', () => {
it('should created an instance',
inject([AppComponent], (app:AppComponent) => {
expect(app).toBeTruthy();
}));
});
此错误出现在每个需要提供商的规范上。
这里是app.component.ts的组件
import { Component } from '@angular/core';
import { EnvComponent } from "./env/env.component"
// Routage
import { ROUTER_DIRECTIVES } from '@angular/router';
@Component({
moduleId: module.id,
selector: 'app-root',
templateUrl: 'app.component.html',
styleUrls: ['app.component.css'],
directives: [ROUTER_DIRECTIVES, EnvComponent],
})
export class AppComponent {
}
PS:测试在 Angular 2 RC3 中正常运行
最佳答案
您只需要使用提供者或类型作为 addProviders
方法的参数:
addProviders([AppComponent])
AppComponent
好像不是一个类... app.component
模块的内容是什么?
关于javascript - Angular 2 - 错误提供者单元测试无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38846148/