Как вызвать функцию Asyn c из функции Asyn c? - PullRequest
2 голосов
/ 21 января 2020

У меня есть этот тест Jest, который вызывает асин c функцию с именем getLD, которая сама по себе является асин c функцией:

test("Should generate correct lexical density", async () => {
    var ld = await getLD("John is a Smith")
    console.log(ld);
    expect(ld).toEqual('Paul');
    expect.assertions(1);
})

И это асин c, которую она вызывает :

const NonLexWord = require('../models/Word');
exports.getLD = async (sentence) => {
    const nonLexicalWords = await NonLexWord.find({});
    // console.log(nonLexicalWords);
    const words = sentence.split(" ");
    const totalNumberOfWords = words.length;
    let totalNumberOfLexicalWords = 0;
    words.forEach(word => {
        const found = nonLexicalWords.find(element => element.name === word);
        if(!found) {
            totalNumberOfLexicalWords++;
        }
    });
    return parseFloat((totalNumberOfLexicalWords / totalNumberOfWords).toFixed(2));
}

Моя проблема в том, что тело теста никогда не запускается, и я получаю эту ошибку:

: Тайм-аут - обратный вызов Asyn c не вызывался в течение 5000 мс время ожидания, указанное в jest.setTimeout.Timeout - обратный вызов Asyn c не был вызван в течение времени ожидания 5000 мс, указанного в jest.setTimeout.Error:

Это модель Word:

// For non lexical words
const mongoose = require('mongoose');
const Schema = mongoose.Schema;

// Create Schema
const WordSchema = new Schema({
    name: {
        type: String,
    }
});

module.exports = Word = mongoose.model('word', WordSchema);

Конечно, я попытался увеличить порог времени, например this .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...