2017-12-03 174 views
0

我试图单元测试一个脚本,它将部分依赖从axios.get()请求返回给外部资源的数据。如何在JavaScript中向我的文件系统发出AJAX请求?

一个测试功能我目前看起来是这样的:

export function getFeedData (sub) { 
    if (getFeedId(sub) === 2) { 
     return axios.get('/src/mocks/MockData.json').then((data) => JSON.parse(data)); 
    } 
} 

这是失败的,我相信,因为axios不会对文件系统调用。是否有另一个我可以使用的库,可以让我调用文件系统?或者我可以通过这种方式使用axios

回答

1

这是设计和安全功能。

你可以做的是启动一个节点服务器,并使其充当客户端和文件系统之间的代理。

+0

原谅我,但我实际上不知道该怎么做,因为我目前正在学习节点,但仍然是初学者。你是否能够将我指向可以帮助我学习的资源? – bkula

+1

你可以看看这个页面:https://nodejs.org/api/fs.html 这是节点的文件系统api,所以如果你只是启动一个节点服务器,你的前端可以向本地主机发出ajax请求:8080(或者你告诉节点运行的任何端口),然后你可以让node.js代码与你的文件系统交互,但是你喜欢 –

+0

@CJApel如果我用Jest测试这个脚本,我是否会启动服务器正在测试的脚本还是与测试本身相同的文件? – bkula

相关问题