Тестовое кеширование с Mocha и Supertest - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть экспресс-приложение, которое реализует некоторое кэширование / запоминание в нескольких конечных точках (выполнение вызовов может занять несколько секунд, поэтому я сохраняю результаты в течение различного времени в зависимости от характера конечной точки).Однако когда я запускаю модульные тесты через Mocha с использованием Supertest, каждый вызов занимает больше времени.Как я могу на самом деле проверить, что кэширующая часть моего приложения работает нормально?

Когда я запускаю сервер узлов самостоятельно, я вижу время для каждого возврата (например, 3979,848 мс для первого, 3,180 мс длявторой), и он работает, как предполагалось, но тесты ведут себя не так.

Что мне нужно сделать, чтобы проверить кэширование/ запоминание?Можно ли это сделать с помощью этих инструментов?Нужно ли использовать какой-то другой модуль?

Мой код выглядит так:

var supertest = require('supertest');
var base_url = 'http://localhost:3000';
var server = supertest(base_url);

describe('big section', function() {
    describe('test section', function() {
        it('should do a thing', function(done) {
            this.timeout(10000);
            server
                .get('/url1')
                .expect('Content-Type', /json/)
                .expect(200)
                .end(function(err, res) {
                    if (err) return done(err);
                    //stuff
                    done();
                });
        });
    });
    describe('test section', function() {
        it('should do a similar thing, but faster', function(done) {
            this.timeout(10000); //I should be able to reduce this a lot
            server
                .get('/url1')
                .expect('Content-Type', /json/)
                .expect(200)
                .end(function(err, res) {
                    if (err) return done(err);
                    //stuff
                    done();
                });
        });
    });
});
...