相关疑难解决方法(0)

Angular 2 Component不是任何NgModule的一部分

我正在将我的Angular 2项目从RC5升级到2.0.0.我收到此错误

未处理的Promise拒绝:组件LoginComponent不是任何NgModule的一部分,或者模块尚未导入到您的模块中.; 区域:; 任务:Promise.then; 值:错误:组件

Main.ts:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';

import { AppModule } from './app.module';

platformBrowserDynamic().bootstrapModule(AppModule);
Run Code Online (Sandbox Code Playgroud)

的AppModule:

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule }   from '@angular/forms';
import { AppComponent }  from './app.component';
import {RouterModule} from "@angular/router";
import {AppsAdminComponent} from './AppsAdmin/AppsAdmin.component';
import {AppsManagerComponent} from './AppsManager/AppsManager.component';
import {LoginComponent} from './Login/Login.component';
import {LogoutComponent} from './Logout/logout.component';
import { Routing }  from './App.routing';
import {HttpModule} from '@angular/http';
//import {AppsManagerService} from './Service/AppsManager.service';
import …
Run Code Online (Sandbox Code Playgroud)

upgrade angular

55
推荐指数
5
解决办法
8万
查看次数

Angular2 单元测试 beforeEach 块太慢

这是我在单元测试的每个块之前。它工作得很好,为每个测试提供了一个新的组件实例。然而,执行 beforeEach 块大约需要 4 秒。当你进行 200 次测试时,速度就很慢了!

我想将大部分代码移至 beforeAll 块(如果您使用 Jasminedone()回调而不是使用异步,则该块有效),但我仍然无法为每个测试创建一个新实例。某些测试失败是因为唯一实例已被先前的测试篡改。

我如何 ...

  1. 创建一个新的组件实例,而无需为每个测试执行这个耗时的代码。

或者

  1. 将实例重置为其未被篡改的状态。
beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [AppModule],
      providers: [{provide: APP_BASE_HREF, useValue: '/'},
        MockBackend,
        BaseRequestOptions,
        {
          provide: Http,
          useFactory: (pBackend: MockBackend, pOptions: BaseRequestOptions) => {
            return new Http(pBackend, pOptions);
          },
          deps: [MockBackend, BaseRequestOptions]
        }]
    }).compileComponents()
      .then(() => {
        fix = TestBed.createComponent(Route1DetailComponent);
        instance = fix.componentInstance;
        injector = fix.debugElement.injector;
      });
}));
Run Code Online (Sandbox Code Playgroud)

unit-testing angular

5
推荐指数
1
解决办法
1888
查看次数

标签 统计

angular ×2

unit-testing ×1

upgrade ×1