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

后端 未结 4 1816
天命终不由人
天命终不由人 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:31

    I used jest to mock knex but I had to define an object that contains the method that I used. not the most elegant solution but is working

    let knexMock = () => {
        const fn = () => {
            return {
                returning: function() {
                    return {
                        insert: jest.fn().mockImplementation(() => [123123])
                    }
                },
                insert: jest.fn()
            }
        }
        fn.raw = jest.fn()
        return fn
    }
    
    knex.mockImplementation(knexMock)
    

提交回复
热议问题