2017-09-14 8 views
1

私はテストでルータをモックしようとしています。私はステップの指示ステップはthis answerに与えられたが、私はまだエラーが出る続いルーターを正しくモックする方法は?

これは私が試したものです

「ヌルの 『コンセント』プロパティを読み取ることができません」:

beforeEach(async(() => { 
     TestBed.configureTestingModule({ 
      imports: [RouterTestingModule.withRoutes([ 
       {path:'profile/login',component:ProfileLoginComponent}] 
      )], 
      declarations: [ ProfileLoginComponent ], 
      providers: [ 
       FormBuilder,AuthModel 
      ], 
      schemas: [NO_ERRORS_SCHEMA] 
     }) 
      .overrideComponent(ProfileLoginComponent, { 
       set: { 
        providers: [ 
         {provide: AuthModel, useClass: MockAuthModel}  
        ], 
       } 
      }) 
      .compileComponents(); 
    })); 

コード内のルータリンクrouterLinkActiveのコードを削除すると、テストケースは完全に機能します。どこが間違っていたのですか?

+1

。私はあなたのルートでそれを見ることができません...あなたは他のルートが他に定義されていますか? – JayDeeEss

+0

@JayDeeEss完全なプロジェクト検索を実行しました。私には「アウトレット」という名前はありません。私が見つけることができるのは SanjuAus

+0

でした。コンポーネントにナビゲートする場所にコードを投稿できますか?プログラムでもHTMLでも – JayDeeEss

答えて

0

私はこの問題を解決できました。私もこの質問に別のpostで答えました。

routerLinkがヌル変数 を指しているときにこのエラーが発生することがわかりました。私のケースでは、に割り当てられたfavoriteUrlという名前のプロパティは、 環境のために、nullでした。だから私は手動で beforeEachの関数の値にプロパティを割り当て、それは少なくとも私のために問題を解決しました。

参考:https://stackoverflow.com/a/46342813/8558515名前付きコンセントに移動した経路を与えるが、それを見つけることができない角度いるように見える

関連する問題