簡體   English   中英

如何對路由器功能NodeJS / Mocha / Chai進行單元測試

[英]How to carry unit test on router function NodeJS / Mocha / Chai

如果要在此路由器上進行單元測試,應該怎么看:

router
.post('/set-permission', (req, res) => {
    Board.updateBoard(req.body)
        .then(resp => { 
            console.log(resp.permissions);
            res.json(resp.permissions);
        })
})

module.exports = router;

我在project / test中有文件夾,里面是帶有所需chai庫的.js文件。 現在我應該使用參數執行此功能? 但是如何? 有人可以解釋我嗎?

您可以為此使用chai.http ,它可以測試HTTP應用程序。 只要確保已導出app

// api.spec.js
const chai = require('chai')
const chaiHttp = require('chai-http')
const server = require('../app.js')

chai.should()
chai.use(chaiHttp)

describe('User permissions', () => {
  it('sets the user permissions', () => {
    // Notice we are sending the request to the `server` export instead
    // of a URL
    return chai.request(server)
      .post('/set-permission')
      .then(res => {
        res.should.have.status(200)
        // add more tests here as you see fit
      })
      .catch(err => {
         throw err
      })
  })
})

還要注意,這更多的是集成測試而不是單元測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM