Angular 2 - 错误无效的提供者单元测试

时间:2016-08-09 08:51:33

标签: javascript angular unit-testing typescript

我正在使用Angular-Cli生成的Angular 2 RC4项目,我的每个单元测试都有相同的错误。

  

错误:提供程序无效 - 仅提供者和类型的实例   允许,得到:[对象](第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中正常工作

1 个答案:

答案 0 :(得分:1)

您只需将提供者或类型用作addProviders方法的参数:

addProviders([AppComponent])

似乎AppComponent不是一个类...... app.component模块的内容是什么?