Angular2サービスユニットテストがTypeErrorで失敗する:undefinedはオブジェクトではありません

スティーブK

authServiceをテストしています。これは完全なテストですが、Karmaによると、authServiceは未定義です。AuthServiceが依存するサービスはたくさんありますが、それらすべてを適切に提供して注入しました。

エラー:「AuthService」(BackendService、Store、LoggerService、undefined、ErrorService)のすべてのパラメーターを解決できません。すべてのパラメーターがInjectで装飾されているか、有効な型注釈が付いていること、および「AuthService」がInjectableで装飾されていることを確認してください。/var/folders/zb/tpysrhsx7hbg1dnsn4gwtqq00000gn/T/8715f9a6c29e748f52c8f59e3e1daae3.browserify(行34976)

authservice.spec.ts

import { provide } from "@angular/core";
import { AuthHttp } from "angular2-jwt";
import { HTTP_PROVIDERS, XHRBackend } from "@angular/http";
import { MockBackend } from "@angular/http/testing";
import {
    TEST_BROWSER_DYNAMIC_PLATFORM_PROVIDERS,
    TEST_BROWSER_DYNAMIC_APPLICATION_PROVIDERS
} from "@angular/platform-browser-dynamic/testing";
import {
    beforeEachProviders,
    inject,
    beforeEach,
    it,
    describe,
    setBaseTestProviders
} from "@angular/core/testing";
import { Subject } from "rxjs/Subject";
import { AuthService } from "./auth.service";
import { BackendService } from "../../backend/backend.service";
import { ErrorService } from "../../error/error.service";
import { LoggerService } from "../../logger/logger.service";
import { NavService } from "../../nav/nav-service/nav.service";
import { Store } from "@ngrx/store";
import { TestComponentBuilder } from "@angular/compiler/testing";
import { ToastController, AlertController } from "ionic-angular";
setBaseTestProviders(TEST_BROWSER_DYNAMIC_PLATFORM_PROVIDERS, TEST_BROWSER_DYNAMIC_APPLICATION_PROVIDERS);

describe("AuthService", () => {

    let response = new Subject();
    let tcb;
    let authService;
    let navService;
    let backendService;
    let errorService;
    let store;
    let loggerService;

    class StubErrorService extends ErrorService {
        constructor() {
            super(null, null);
        }

        toast(title) {
            console.error(title);
        }

        modal(title, subtitle) {
            console.error(title, subtitle);
        }
    }

    class StubBackendService extends BackendService {

    }

    class StubStore extends Store<any> {

    }

    class StubLoggerService extends LoggerService {

    }

    class StubNavService extends NavService {

    }

    // PROVIDE

    beforeEachProviders(() => [
        HTTP_PROVIDERS,
        provide(AuthHttp, {
            useValue: {
                get: (url: string) => {
                    return response;
                }
            }
        }),
        AuthService,
        TestComponentBuilder,
        provide(ToastController, {useClass: null}),
        provide(AlertController, {useClass: null}),
        provide(ErrorService, {useClass: StubErrorService}),
        provide(XHRBackend, {useClass: MockBackend}),
        provide(BackendService, {useClass: StubBackendService}),
        provide(Store, {useClass: StubStore}),
        provide(LoggerService, {useClass: StubLoggerService}),
        provide(NavService, {useClass: StubNavService})
    ]);

    // INJECTS

    beforeEach(inject([TestComponentBuilder, AuthService, ErrorService, BackendService, Store, LoggerService, NavService], (_tcb, as, es, bs, s, ls, ns) => {
        tcb = _tcb;
        authService = as;
        navService = ns;
        errorService = es;
        store = s;
        backendService = bs;
        loggerService = ls;
    }));

    it("should test authservice", () => {
        authService.logout();
    });
});
sikac

ほぼ同じ問題が発生し、サービスのテスト方法に関する公式ドキュメントに従って解決したというだけで、関連性があるかどうかはわかりませんそれが役に立てば幸い!

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

角度モック/ジャスミンを使用したサービスのテスト-TypeError:undefinedはオブジェクトではありません

分類Dev

Angular 2Jasmineが未定義で失敗することはオブジェクトではありません

分類Dev

Angular2 ngfor: undefined はオブジェクトではありません

分類Dev

コンポーネントがHttpサービスメソッドを呼び出すかどうかのAngularユニットテスト:エラー:<spyOn>:スパイするオブジェクトが見つかりませんでした

分類Dev

TypeErrorが発生する理由:undefinedはAngularのオブジェクト( ''を評価)ではありませんか?

分類Dev

出力はテキストである必要があります(オブジェクトではありません)

分類Dev

Angular2:サービスクラスとは異なるサポートオブジェクトが見つかりません

分類Dev

バックボーンビュー関数がTypeErrorをスローします:オブジェクトは関数ではありません

分類Dev

約束のあるAngularサービスでユニットテストが失敗する

分類Dev

Angular2-ユニットテストケースはサービスをモックできません

分類Dev

jqxGridがエラー「オブジェクト[オブジェクトオブジェクト]にメソッド 'jqGrid'がありません」で失敗する

分類Dev

Javaでオブジェクトを作成する方法。テストクラスはありますがコンストラクターはありません

分類Dev

ユニットテストが失敗する原因となる「If」ステートメントですが、理由はわかりません

分類Dev

Nestアプリケーションをブートストラップできません。「TypeError:オブジェクトのプロトタイプはオブジェクトのみであるか、null:未定義である可能性があります」

分類Dev

Jestオートモックが失敗する:TypeError:fs.readdirSyncは関数ではありません

分類Dev

オブジェクトタイプのチェックが「タイプではありません」エラーで失敗する

分類Dev

TypeError: 'NoneType'オブジェクトはメッセージのDjangoユニットテストで添え字化できません

分類Dev

ジャスミンテストサービスangular-getBaseUrl()をスパイするオブジェクトが見つかりませんでした

分類Dev

Uncaught TypeError:URLは、electronのWHATWG URLオブジェクトサポートを使用するコンストラクタではありません

分類Dev

AWS Xray SDK:boto3を使用してサービスグラフを抽出する必要があります。「TypeError: 'モジュール'オブジェクトは呼び出し可能ではありません」というエラーが表示されます。

分類Dev

Typescriptを使用したVueプロジェクトのユニットテストの設定がTypeErrorで失敗しました:「undefined」または「null」のプロパティ「polyfills」を分解できません

分類Dev

アサートリストには、hamcrestが失敗した同じオブジェクトがあります

分類Dev

TypeError:リストオブジェクトはイテレータではありません

分類Dev

XAMLはコンパイルに失敗しますが、ユーザー定義オブジェクトが最初のリソースであり、直後にx:Arrayリソースがある場合、エラーメッセージは表示されません。

分類Dev

XUnitはビジネスオブジェクトをユニットテストする方法であり、すべてをモックする必要がありますか?

分類Dev

ユーザーには、このオブジェクトにアクセスする権限がありません。ストレージfirebaseで

分類Dev

TypeError:undefinedはオブジェクトではありません。ネイティブに反応します

分類Dev

vs「ユニットテストプロジェクト」でwcfRESTサービスをテストする方法は?

分類Dev

ユニットテストはビルドサービスで失敗するが、ローカルでは失敗する

Related 関連記事

  1. 1

    角度モック/ジャスミンを使用したサービスのテスト-TypeError:undefinedはオブジェクトではありません

  2. 2

    Angular 2Jasmineが未定義で失敗することはオブジェクトではありません

  3. 3

    Angular2 ngfor: undefined はオブジェクトではありません

  4. 4

    コンポーネントがHttpサービスメソッドを呼び出すかどうかのAngularユニットテスト:エラー:<spyOn>:スパイするオブジェクトが見つかりませんでした

  5. 5

    TypeErrorが発生する理由:undefinedはAngularのオブジェクト( ''を評価)ではありませんか?

  6. 6

    出力はテキストである必要があります(オブジェクトではありません)

  7. 7

    Angular2:サービスクラスとは異なるサポートオブジェクトが見つかりません

  8. 8

    バックボーンビュー関数がTypeErrorをスローします:オブジェクトは関数ではありません

  9. 9

    約束のあるAngularサービスでユニットテストが失敗する

  10. 10

    Angular2-ユニットテストケースはサービスをモックできません

  11. 11

    jqxGridがエラー「オブジェクト[オブジェクトオブジェクト]にメソッド 'jqGrid'がありません」で失敗する

  12. 12

    Javaでオブジェクトを作成する方法。テストクラスはありますがコンストラクターはありません

  13. 13

    ユニットテストが失敗する原因となる「If」ステートメントですが、理由はわかりません

  14. 14

    Nestアプリケーションをブートストラップできません。「TypeError:オブジェクトのプロトタイプはオブジェクトのみであるか、null:未定義である可能性があります」

  15. 15

    Jestオートモックが失敗する:TypeError:fs.readdirSyncは関数ではありません

  16. 16

    オブジェクトタイプのチェックが「タイプではありません」エラーで失敗する

  17. 17

    TypeError: 'NoneType'オブジェクトはメッセージのDjangoユニットテストで添え字化できません

  18. 18

    ジャスミンテストサービスangular-getBaseUrl()をスパイするオブジェクトが見つかりませんでした

  19. 19

    Uncaught TypeError:URLは、electronのWHATWG URLオブジェクトサポートを使用するコンストラクタではありません

  20. 20

    AWS Xray SDK:boto3を使用してサービスグラフを抽出する必要があります。「TypeError: 'モジュール'オブジェクトは呼び出し可能ではありません」というエラーが表示されます。

  21. 21

    Typescriptを使用したVueプロジェクトのユニットテストの設定がTypeErrorで失敗しました:「undefined」または「null」のプロパティ「polyfills」を分解できません

  22. 22

    アサートリストには、hamcrestが失敗した同じオブジェクトがあります

  23. 23

    TypeError:リストオブジェクトはイテレータではありません

  24. 24

    XAMLはコンパイルに失敗しますが、ユーザー定義オブジェクトが最初のリソースであり、直後にx:Arrayリソースがある場合、エラーメッセージは表示されません。

  25. 25

    XUnitはビジネスオブジェクトをユニットテストする方法であり、すべてをモックする必要がありますか?

  26. 26

    ユーザーには、このオブジェクトにアクセスする権限がありません。ストレージfirebaseで

  27. 27

    TypeError:undefinedはオブジェクトではありません。ネイティブに反応します

  28. 28

    vs「ユニットテストプロジェクト」でwcfRESTサービスをテストする方法は?

  29. 29

    ユニットテストはビルドサービスで失敗するが、ローカルでは失敗する

ホットタグ

アーカイブ