karma jasmineangular 2のテストケースを書いています
また、データが膨大であるため(コードを確実にクリーンにするため)、別のJSONファイルにデータをモックする要件に遭遇しました。このために私は多くを検索しましたが、適切な解決策を見つけることができませんでした。
MockBackendを使用してHTTPサービスをすでにモックしています。したがって、angular)のHTTPサービスを使用してJSONをロードすることはできません。最終的にリクエストはMockBackendに送られるためです。
それで、jasmine-jqueryやKarma-jasmine-preprocessorのようなサードパーティのlibを使用しない別の方法はありますか? その他のAngular JS 2 way。
同じ問題が発生しました!
最後に、TypeScriptでrequire()
関数を直接使用するだけで問題なく機能することに気付きました。 Nodeと@ types/nodeでサポートされています。それ以外の場合は、requireタイプを宣言する必要があります。
Angular 2 Karma Jasmine testでJSONファイルからモックデータをロードするには、次のようにします。
const data: any = require('../../assets/mock-data.json');
私も同じことをしようとしています。 System.import
は、次のようにJSONのパスを渡すと機能します。
System.import('../../assets/mock-data/mock-data.json')
.then((json) => {
console.log(json);
});
本当に奇妙なのは、変数で動作させることができなかったことです。
let myUrl: string = '../../assets/mock-data/mock-data.json';
System.import(myUrl)
.then((json) => {
console.log(json);
});`