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

标签 javascript angular unit-testing typescript

我正在开发一个由 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/

相关文章:

javascript - 如何在 HTML + CSS 中通过另一个元素选择器更改一个元素的属性值?

javascript - 我无法让这个背景出现在 div 中

angular - Typescript 中的 Boolean 和 boolean 有什么区别?

python - 在 Django 中测试 extra_context

c# - 使用 Moq.It.IsAny 测试以某物开头的字符串

c++ - C++ 中的单元测试

javascript - 如何使用带有文本输入的 Javascript 检查数组中的值

javascript - onReady之后还有事件吗? (flot iframe问题)

javascript - 如何将服务中的数据分配给 JSON?

angular2,文件应该以换行符和尾随空格结尾