2017-11-11 162 views
0

我正在嘗試編寫測試,以在必備條件中進行外部API調用的路由。在我正在寫的測試中,我不想進行該調用,但我想使用存根來模擬調用。覆蓋HapiJS單元測試的先決條件

如何覆蓋我測試的先決條件?

回答

0

你試過Shot?我也沒有,但它會將假的HTTP請求/響應注入到節點HTTP服務器中,以模擬服務器邏輯,編寫測試或調試。

在您的測試運行之前,您可以模擬您希望進行的請求,並指定預期結果。

const Http = require('http'); 
const Shot = require('shot'); 

(function() { 

    const dispatch = function (req, res) { 
     const reply = 'Hello World'; 
     res.writeHead(200, { 
      'Content-Type': 'text/plain', 
      'Content-Length': reply.length 
     }); 
     res.end(reply); 
    }; 

    const server = Http.createServer(dispatch); 

    Shot.inject(dispatch, { method: 'get', url: '/api/hello' }, (res) => { 
     console.log(res.payload); 
    }); 
})() 
+0

謝謝@mykeels。其實我剛剛在幾分鐘前遇到了這個鏡頭包。我正在審閱它的文檔,雖然不是太明瞭,但我正在利用它來模擬外部API調用。 – proton