2017-07-14 5 views
0

HTML5ファイルオブジェクトを渡すコードがたくさんあります。私はそれのためのテストのスイートを書いた、しかし、それはFileオブジェクトが最後に修正された日付のために私のスナップショットテストを壊す。Jestを使ってHTML5 Fileオブジェクトをモックする方法

私が使用してモックを試み:

jest.mock('File',() => { 
    return class MockFile { 
     filename: string; 

     constructor(parts: (string | Blob | ArrayBuffer | ArrayBufferView)[], filename: string, properties?: FilePropertyBag) { 
      this.filename = filename; 
     } 
    } 
}); 

エラーは、ファイル・モジュールが見つからなかった私を言ってます(私はどこでも、私はそれを使用し、それをインポートする必要はありません...)

私はまた、ファイルクラスを拡張し、lastmodifiedのgetプロパティをオーバーライドしようとしましたが、スナップショットを修正していないようです。

これを処理する最善の方法は何ですか?

答えて

1

あなただけのグローバル名前空間にFileを設定する必要があります。

global.File = class MockFile { 
    filename: string; 
    constructor(parts: (string | Blob | ArrayBuffer | ArrayBufferView)[], filename: string, properties ? : FilePropertyBag) { 
     this.filename = filename; 
    } 
    } 
+0

愚かなシンプル。ありがとう! – TheTFo

関連する問題