如何在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');
答
我试图做同样的,如果你通过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);
});`
感谢答案,这项工作非常适合我! – Viraj