Ошибка: превышено время ожидания 2000 мс.Для асинхронных тестов и хуков убедитесь, что вызывается «done ()»; - PullRequest
0 голосов
/ 02 марта 2019

Пробовал функцию timeout и done () решить эту проблему, но она не работает, показывая ошибку: превышено время ожидания 2000 мс.Для асинхронных тестов и хуков убедитесь, что вызывается «done ()»;ошибка.

Контроллер

var plan_details = require('../../models/plan_details');
module.exports = function () {
return {
    getPlansList: function (request, callback) {
        plan_details.find().sort({ createdAt: -1 }).exec().then((result) => {
            log.info("Getting All Plan Details");
            callback({ status: 200, success: true, result: result });
        }).catch(err => {
            log.error("Getting error while getting all plans");
            log.error(err);
            callback({ status: 400, success: false, message: "Unable to 
            Process your Request" });
        });
    }
 }}

Контрольный пример

var expect = require("chai").expect;
var request = require("request");
var PlanMgmnt = require('../routes/PlanManagement/PlanManagement')();

describe("--Plan Management API", function () {
describe("--Add Plan API", function () {
    it("--returns status 200", function (done) {
        PlanMgmnt.getPlansList({}, function(res){
            console.log(res);
        });
        // done();
    });
});});

Не печатается res в console.log.

Ответы [ 3 ]

0 голосов
/ 03 марта 2019

done() следует поместить внутрь, как показано ниже:

describe("--Add Plan API", function () {
    it("--returns status 200", function (done) {
        PlanMgmnt.getPlansList({}, function(res){
            console.log(res);
            done();
        });
    });
});

Надеюсь, это поможет

0 голосов
/ 07 марта 2019

Нашли решение, проблема была связана с подключением MongoDB, в случае модульных тестов там не было подключения MongoDB, поскольку в модульных тестах не выполнялась функция mongoose.

Для устранения проблемы добавленоФайл helper.js, добавил код подключения mongoose в этот файл, использовал файл helper.js в тестовой команде «test»: «mocha test --require helper.js».

ИЛИ также можете использовать mongoКомплектация.

Refs: https://www.toptal.com/nodejs/integration-and-e2e-tests-nodejs-mongodb

0 голосов
/ 02 марта 2019

Вы можете установить время ожидания для каждого набора или каждого теста

describe('suite descripion', function(){
  this.timeout(15000);

it('test description', function(done){
  this.timeout(15000);
});
});
...