Я пытаюсь прочитать CSV-файл в моем before
хуке, но он по какой-то причине выполняется после самого теста.
let csvPath = path.join(__dirname, '/sample-conv.csv')
let messages = []
// read csv and push rows into an array
before(done => {
fs.createReadStream(csvPath).pipe(csv.parse({ headers: true })).on('data', row => {
messages.push(row)
}).on('end', () => {
console.log('before', messages) // this logs the full array correctly
done()
})
})
describe('Should return correct responses', () => {
let hardCoded = ['Hi', 'This is a response'] // hard codes responses to stub chatbot
console.log('after', messages) // logs empty array
it('dummy', done => {
expect(true).eq(true);
done()
})
// messages.forEach((row, i) => {
// it('Should return expected response for message #' + (i + 1), done => {
// const { send, expected } = row
// let actual = hardCoded[i]
// expect(actual).to.equal(expected)
// done()
// })
// })
})
Есть также проблема, которая закомментирована it
функция не выполняется вообще.Я добавил фиктивный тест, чтобы попытаться исправить проблему before
.Я предполагаю, что это не работает из-за цикла.