इस पर ठोकर खाने वाले किसी भी व्यक्ति के लिए, समस्या वास्तव में 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
इंस्टॉल करके मॉड्यूल।