У меня есть следующий класс:
class QueueRequest{
constructor(){
this.queue = [];
}
async getKeepAliveRequestLibrary(httpOptions){
//creation of special type of request with Keep-Alive
const httpModule = (airConf.useSecureConnection ? https : http);
const keepAliveRequest = request.defaults({
agent: new httpModule.Agent({
keepAlive: true,
maxSockets: airConf.maxSockets,
})
});
let response = await keepAliveRequest(httpOptions);
return response;
}
async addRequestToQueue(httpOptions){
this.queue.push(httpOptions);
let response = await this.getKeepAliveRequestLibrary(this.queue[0]);
this.queue.shift();
return response;
}
}
module.exports = QueueRequest;
Я пытаюсь протестировать класс следующим образом:
const sinon = require('sinon');
const rp = require('request-promise-native');
//override the original common, so we can manipulate the config
jest.mock('./common');
//local dependencies
require('./common').prepareConfigForTaskHandler(13);
const QueueRequest = require('./queue-request');
let queue = new QueueRequest();
describe('Testing QueueRequest module:', () => {
//setup
it('checking proper queueing one request', () => {
sinon.stub(rp, 'Request').resolves({});
//test
});
//teardown
it('checking proper queueing many requests', () => {
});
});
Моя задача - протестировать модуль как целый класс.Мое намерение состоит в том, чтобы проверить, не делая реальных запросов.Я хочу провести два теста, один тест только для одного теста, а второй для многих тестов.