如何在Angular 2 karma jasmine测试中从JSON文件加载模拟数据?

如何在Angular 2 karma jasmine测试中从JSON文件加载模拟数据?

问题描述:

我写因缘茉莉测试用例角2如何在Angular 2 karma jasmine测试中从JSON文件加载模拟数据?

我们碰到的要求在不同的JSON文件来模拟数据,数据是巨大的(要确保代码清洁)。为此我搜索了很多,但没有找到合适的解决方案。

我们已经使用MockBackend嘲笑HTTP服务,所以我们不能使用angular的HTTP服务来加载JSON,因为它最终会请求到MockBackend。

那么还有没有使用任何第三方库,如 jasmine-jquery或Karma-jasmine-preprocessor? 更多类型的Angular JS 2方式

我有同样的问题!

最后,我意识到只要在TypeScript中直接使用require()函数就行得通。它由Node和@ types/node支持,否则有些需要声明require类型。

所以加载在角2因果报应茉莉花测试JSON文件模拟数据,去为:

const data: any = require('../../assets/mock-data.json'); 

PS:credits to Artur Ampilogov

+0

感谢答案,这项工作非常适合我! – Viraj

我试图做同样的,如果你通过JSON的路径是这样

例如 system.import工作:

`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); 
    });`