How can I mock a fake database for when unit testing against Knex?

后端 未结 4 1798
天命终不由人
天命终不由人 2021-02-13 14:50

I\'ve been using Knex successfully to connect to a backend database. But I want to be able to unit test my code. Is there a way to mock the database connection?

I\'ve tr

4条回答
  •  甜味超标
    2021-02-13 15:39

    Using jest:

    Create the file /__mocks__/knex.js in your app root:

    module.exports = () => ({
      select: jest.fn().mockReturnThis(),
      from: jest.fn().mockReturnThis(),
      where: jest.fn().mockReturnThis(),
      first: jest.fn().mockReturnThis(),
      then: jest.fn(function (done) {
        done(null)
      })
    })
    

    Pass the desired return value to done

提交回复
热议问题