поэтому я пытаюсь проверить функцию, как показано ниже
function generateJwt(){
var deferred = Q.defer();
deferred.resolve({
message: 'user created',
token: signedJwt,
userId: user.userId
});
deferred.promise.then(function success(result) {
console.log(result)
}, function failed(result) {
console.log(result)
});
return deferred.promise;
}
поэтому в приведенной выше функции она работает правильно, хотя у меня нет всех фрагментов кода, поскольку остальные не так важны. Часть, в которой я печатаю содержимое обещания, работает, как и ожидалось. Таким образом, generateJwt() возвращает обещание, и я хочу проверить содержимое этого обещания, чтобы убедиться, что оно совпадает с тем, что я вывожу в консоль. Но это дает мне ошибку тайм-аута 2000 мс, как показано ниже.
Auth Service Unit Tests: #POST - generatePingJwt should return a promise with message user exists with user scope Admin:
Error: timeout of 2000ms exceeded
at null.<anonymous> (/Users/z001hm0/Documents/api_portal/developer-portal/node_modules/grunt-mocha-test/node_modules/mocha/lib/runnable.js:139:19)
at Timer.listOnTimeout (timers.js:110:15)
я даже увеличил тайм-аут до 15000 мс, все та же ошибка. Так что я действительно не знаю, что происходит. Я использовал мокко, чай, синон и обещанный супертест, чтобы проверить это. ниже мой тестовый костюм
var chai = require('chai');
var requestPromise = require("supertest-as-promised");
var should = require('chai').should();
it("should return a promise with message user exists with user scope TM", function (done) {
sinon.stub(dbModels.User, 'findOne').resolves({
scope: 'TM',
userId: 30001,
save: save
});
save.resolves(true);
requestPromise(app)
.post(baseRoute + 'ping')
.then(function (res) {
console.log('promise result is ');
console.log(res);
done();
});
});
Пожалуйста, любые предложения приветствуются. Спасибо