2

テストとこの小さなコードで Observable を使用する必要があります。

it("should emit values", () => {
   const f = Observable.of([1, 3, 5]);
   f.subscribe(d => console.log(d));
});

次のエラーが発生します。

TypeError: undefined はコンストラクターではありません (「Observable_1.Observable.of([1, 3, 5])」を評価しています)

しかし、これらの 2 行のコードをコンポーネント内(たとえば、ngOnInit) に配置すると、出力された値が表示され、エラーは表示されません。この私またはAngular 2には、テストコードベースに問題があるのでしょうか?

念のため、これらはすべて、この特定のテスト ファイルで使用するインポートです。


import {
it,
inject,
injectAsync,
beforeEachProviders,
TestComponentBuilder
} from 'angular2/testing';

import {ComponentFixture, dispatchEvent, fakeAsync, tick} from 'angular2/testing_internal';

import {provide, bind} from 'angular2/core';
import {FormBuilder} from 'angular2/common';
import {By} from 'angular2/platform/browser';
import {Observable} from 'rxjs/Observable';
import {ArrayObservable} from 'rxjs/observable/fromArray';
import {Subject} from 'rxjs/Subject';
import {BehaviorSubject} from 'rxjs/subject/BehaviorSubject';

import {SpyLocation} from 'angular2/src/mock/location_mock';
import {RootRouter} from 'angular2/src/router/router';
import {Router, RouterOutlet, RouterLink, RouteParams, ComponentInstruction, RouteData, Location, ROUTER_PRIMARY_COMPONENT} from 'angular2/router';
import {
RouteConfig,
Route,
AuxRoute,
AsyncRoute,
Redirect
} from 'angular2/src/router/route_config_decorator';
import {RouteRegistry} from 'angular2/src/router/route_registry';
import {DirectiveResolver} from 'angular2/src/core/linker/directive_resolver';
import {ResolvedInstruction} from 'angular2/src/router/instruction';

4

1 に答える 1