Модульное тестирование readline-sync с chai, mocha, nyc - PullRequest
0 голосов
/ 16 мая 2019

Я занимаюсь модульным тестированием функций 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)
        })
    })
...