За всеки, който се е натъкнал на това, проблемът всъщност идва от db.js
, по-специално последния ред:
const config = require('../knexfile.js');
const env = process.env.NODE_ENV || 'development';
const knex = require("knex")(config[env]);
module.exports = knex;
knex.migrate.latest([config]);
Разбира се, това е асинхронно и тестовете импортираха този файл, преди да се опитат да изпълнят свои собствени knex функции, причинявайки заключването. Заобиколих това, като добавих клауза за блокиране на това изпълнение по време на тестване:
if(process.env.NODE_ENV != 'test') {
knex.migrate.latest([config])
}
След това можете да създадете тестова среда, като добавите process.env.NODE_ENV='test'
към всеки спецификационен файл или като инсталирате npm env test
модул.