2

材料2のサンプルコードを使用して角度材料2ダイアログを処理する関数のユニットテストを書くときに問題が発生します。 私はジャスミンの初心者ですが、前にユニットテストを書くのに問題はありませんでした。 私はafterClose関数の結果をテストする必要がありますが、私はdialogRefへのハンドルを取得できません。ユニットテスト角度材料2ダイアログ

material2ダイアログAPIがどのように設計されているかは問題ですか?

 let dialogRef = this.dialog.open(ExtractPageDialog, { 
      width: this.EXPORT_DIALOG_WIDTH, 
      data: { 
       document: this.document 
      } 
     }); 
     dialogRef.afterClosed().subscribe((result: any) => { 
      if (result) { 
       let fileId = this.document.fileId; 
       this.docProvider.extractPage(this.document.fileId, result.fromPage, result.toPage).subscribe(() => { 
        () => { //totest }, 
        (error) => { //totest } 
       }); 
      } else { 
       //totest 
      } 
     }); 

ドキュメント:

https://material.angular.io/components/component/dialog

答えて

0

一つの解決策は、複数の機能にサブスクライブ機能を分割し、それらを

dialogRef.afterClosed().subscribe(this.functionName); 

functionName(result: any) { 
       if (result) { 
        let fileId = this.document.fileId; 
        this.docProvider.extractPage(this.document.fileId, result.fromPage, result.toPage).subscribe(() => { 
         () => { //totest }, 
         (error) => { //totest } 
        }); 
       } else { 
        //totest 
       } 
      } 
} 
をテストすることができ