2017-11-09 12 views
0

私はユニットテストを角度4で記述しようとしています。このアプリケーションでは、OKTAサインインが使用されています。 OKTAを模擬する方法ログインする?私はエラーが発生していますOktaSignInは定義されていません角度4ユニットテストOKTA SignIn定義されていないエラー

+0

いくつかのコードを追加できますか? – Aravind

+0

モックオブジェクトスパイの使用をお勧めします。角度アプリケーションのテストに関するこのチュートリアルでは、これを実装するのに役立ちます。http://gist.asciidoctor.org/?github-mraible/ng-demo//README.adoc#_testing –

+0

ありがとうございます。私はそれを固定した答えを追加しました。 –

答えて

0

私たちはindex.htmlでokta-sign-in.min.jsを使用しています。 OktaSignInオブジェクトは以下のようにサービスの中で宣言されています

declare let OktaSignIn: any; 

このオブジェクトはサービスのコンストラクタで使用されています。テスト中、このオブジェクトは使用できません。

解決策: index.htmlに含めるのではなく、https://developer.okta.com/blog/2017/03/27/angular-okta-sign-in-widgetに記載されているように、パッケージをインストールして使用します。この記事で触れていない1つの問題は、Zone.jsのGlobal Promiseオブジェクトを無効にすることです。これを修正するには、zone.jsをロードする前にokta-sign-in-widgetをインクルードする必要があります。

関連する問題