0

angular2-cli を使用してプロジェクトを作成しています。このスペック ファイルは、コンポーネントの 1 つに対して cli によって自動的に作成されます。アプリを rc4 にアップグレードしてから、このテスト ファイルを実行するとこの問題が発生しました。以下は仕様ファイルです。

import {
inject, ComponentFixture, TestBed
} from '@angular/core/testing';
import { Component } from '@angular/core';
import { By } from '@angular/platform-browser';
import { MockComponent } from './mock.component';

describe('Component: Mock', () => {
let builder: TestBed;

beforeEachProviders(() => [MockComponent]);
beforeEach(inject([TestComponentBuilder], function (tcb:  TestComponentBuilder) {
builder = tcb;
}));

 it('should inject the component', inject([MockComponent],
  (component: MockComponent) => {
expect(component).toBeTruthy();
}));

it('should create the component', inject([], () => {
return builder.createAsync(MockComponentTestController)
  .then((fixture: ComponentFixture<any>) => {
    let query = fixture.debugElement.query(By.directive(MockComponent));
    expect(query).toBeTruthy();
    expect(query.componentInstance).toBeTruthy();
  });
}));
});

@Component({
selector: 'test',
template: `
<test></test>
`,
directives: [MockComponent]
})
class MockComponentTestController {
}

上記の仕様ファイルは「createAsync」でエラーをスローします。createAsync が TestBed に存在しないことは確かですが、TestComponentBuilder を TestBed に置き換えました (TestComponentBuilder は rc4 で廃止されました)。この問題を解決する方法についての提案を提供してください。

4

1 に答える 1