いくつかの依存関係を持つ単純なコンポーネントをテストします。だから私はいくつかのプロバイダを提供する必要があります。角2ユニットテストエラー: 'RequestOptions'のすべてのパラメータを解決できません
/* tslint:disable:no-unused-variable */
import { By } from '@angular/platform-browser';
import { DebugElement, provide } from '@angular/core';
import {
beforeEach,
beforeEachProviders,
describe,
expect,
it,
inject,
fakeAsync,
TestComponentBuilder
} from '@angular/core/testing';
import { AuthHttp, AuthConfig } from 'angular2-jwt';
import { Router, provideRouter } from '@angular/router';
import { Http, ConnectionBackend, RequestOptions, HTTP_PROVIDERS } from '@angular/http';
import { LogoutButtonComponent } from './logout-button.component';
import { UserService } from '../../services/index';
describe('Component: LogoutButtonComponent',() => {
let component: LogoutButtonComponent;
beforeEachProviders(() => [
LogoutButtonComponent,
Http,
provide(AuthHttp, { useFactory: Http }),
provide(AuthConfig, { useValue: new AuthConfig() }),
ConnectionBackend,
RequestOptions,
UserService
]);
beforeEach(inject([AuthHttp, UserService, LogoutButtonComponent],
(comp: LogoutButtonComponent) => {
component = comp;
}));
it('should inject UserService',() => {
// My test here
});
});
私は次のエラーを取得していますが:
Error: Cannot resolve all parameters for 'RequestOptions'(?). Make sure that all the parameters are decorated with Inject or have valid type annotations and that 'RequestOptions' is decorated with Injectable.
私はbeforeEachProviders
機能OIN何かが足りないのですか?
注:この質問はジャスミンを使用した角度2のユニットテストにのみ関連しています。私はinfos関連のブートストラップアプリを探しているわけではありません。これは既に私のアプリでは大丈夫ですが、ここに他の関連する質問があります。
こんにちは@Sunil、この場合には、私は取得しています: 'Error:RequestOptionsのプロバイダがありません! (AuthHttp - > RequestOptions) ' –
@ VassilisPitsあなたはどこでそのエラーを取得していますか? 'RequestOptions'を注入しようとしているところで、あなたはそれをしてはいけません。 1)このクラスを挿入することはできません。 'Injectable()'アノテーションはありません。[source](https://github.com/angular/angular/blob/2.0.0-rc.4/modules/)の注釈を確認してください。 %40angular/http/src/base_request_options.ts#L17-L123)。上記のように 'new'演算子を持つ' RequestOptions'オブジェクトをインスタンス化する必要があります。また、[documentation](https://angular.io/docs/ts/latest/api/http/index/)に示されているように、 RequestOptions-class.html)。 –
私は別の場所に注射していない、それは奇妙なことです:/ –