2017-12-03 140 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

相關問題