Я занимаюсь модульным тестированием функций chai, mocha, nyc, которые используют readline-sync. Я пытаюсь довести тестовое покрытие до 100% для этой функции. Однако, когда я делаю это обычно, я получаю следующую ошибку:
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves
также, когда я запускаю свой тест, он вызывает командную строку и хочет, чтобы я ввел всю информацию. Есть ли быстрый способ запустить функцию и ввести для вас введенные по умолчанию значения readline-sync, а затем проверить, каково законченное возвращаемое значение для функции?
//example js file
let question = require('readline-sync').question
let test = () => {
let input = question('what is your name?\n')
return input
}
// пример тестового файла
const expect = require('chai').expect;
describe('test()', function(){
it('should return input', function(){
name = mr.test()
expect(name).to.equal(name)
})
})