カルマで簡単なテストを実行し、TestBed.createComponent()関数内で私のテストクラッシュをブラウジングするとき。angle2とジャスミンでテストを実行しているときにTestBed.createComponentのプロパティ 'injector'を読み取れません
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { DebugElement } from '@angular/core';
import { AboutPage } from './about'
beforeEach(() => {
// refine the test module by declaring the test component
TestBed.configureTestingModule({
declarations: [ AboutPage ],
});
// create component and test fixture
fixture = TestBed.createComponent(AboutPage);
// get test component from the fixture
comp = fixture.componentInstance;
});
、エラーが受け取ら:ここ
がクラッシュしbeforeEachがある
Chrome 53.0.2785 (Mac OS X 10.11.6) About component should display original title FAILED
TypeError: Cannot read property 'injector' of null
at TestBed._createCompilerAndModule (/var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/node_modules/@angular/core/bundles/core-testing.umd.js:834:0 <- /var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/57bca79162ed1bcbdc3d746a5d9211d7.browserify:3968:48)
at TestBed._initIfNeeded (/var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/node_modules/@angular/core/bundles/core-testing.umd.js:800:0 <- /var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/57bca79162ed1bcbdc3d746a5d9211d7.browserify:3934:43)
at TestBed.createComponent (/var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/node_modules/@angular/core/bundles/core-testing.umd.js:884:0 <- /var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/57bca79162ed1bcbdc3d746a5d9211d7.browserify:4018:18)
at Function.TestBed.createComponent (/var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/node_modules/@angular/core/bundles/core-testing.umd.js:714:0 <- /var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/57bca79162ed1bcbdc3d746a5d9211d7.browserify:3848:33)
at Object.<anonymous> (/var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/src/pages/about/about.spec.ts:24:22 <- /var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/57bca79162ed1bcbdc3d746a5d9211d7.browserify:50004:37)
at ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:203:28)
at ProxyZoneSpec.onInvoke (node_modules/zone.js/dist/proxy.js:72:39)
at ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:202:34)
at Zone.run (node_modules/zone.js/dist/zone.js:96:43)
at Object.<anonymous> (node_modules/zone.js/dist/jasmine-patch.js:91:50)
TypeError: Cannot read property 'detectChanges' of undefined
at Object.<anonymous> (/var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/src/pages/about/about.spec.ts:33:12 <- /var/folders/by/05whlcq9247dyx85bd0l183w0000gn/T/57bca79162ed1bcbdc3d746a5d9211d7.browserify:50010:16)
at ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:203:28)
at ProxyZoneSpec.onInvoke (node_modules/zone.js/dist/proxy.js:72:39)
at ZoneDelegate.invoke (node_modules/zone.js/dist/zone.js:202:34)
at Zone.run (node_modules/zone.js/dist/zone.js:96:43)
at Object.<anonymous> (node_modules/zone.js/dist/jasmine-patch.js:91:50)
at ZoneQueueRunner.jasmine.QueueRunner.ZoneQueueRunner.execute (node_modules/zone.js/dist/jasmine-patch.js:119:42)
そして、ここではコードです。
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
@Component({
selector: 'page-about',
templateUrl: 'about.html'
})
export class AboutPage {
helloText: string;
constructor(public navCtrl: NavController) {
}
sayHello(){
this.helloText = "hello";
}
}
助けてください。
- オペレーティングシステム: OSX 10.11.6
角度バージョン:2.0.1 "zone.js": "^ 0.6.21" は "browserify": "13.1.0"
ノード:
node --version
= v6.7.0
'AboutPage'は、HTMLとCSSを持っている場合、あなたは1を作成しようとする前に、' TestBed.compileComponents'を解決しようとしたがありますか? – jonrsharpe
@jonrsharpeはい、セレクタとtemplateUrlを持つ通常のangular2コンポーネントです(質問にコードを追加します)。 'TestBed.compileComponents? 'を再作成することはどういう意味ですか? – jordins
私はそのメソッドを呼び出して、それが返す約束を解決することを意味します(' TestBed.compileComponents()。then(...) ')。例えば、 https://github.com/textbook/known-for-web/blob/master/src/app/actor/actor.component.spec.ts#L54 – jonrsharpe