Hola a todos,
en la mayoría de mis archivos he usado el método siguiente:
var request = require('request');
request(url, function(error, response, body) {
if (!error && response.statusCode === 200) {
¿Cómo puedo eliminar este método en las pruebas unitarias?
ya probé sinon.stub (solicitud), pero eso no ayuda.
@simov ya lo intentó, pero no pudo localizarlo, ¿alguien ya se encontró con este problema?
Prueba proxyquire :
var proxyquire = require('proxyquire');
var requestSpy = jasmine.createSpy();
var myFile = proxyquire('../../file/that/requires/request', {
request: requestSpy,
});
describe('the test', function() {
it('should use the mock', function() {
myFile.makeARequest();
expect(requestSpy).toHaveBeenCalledWith(jasmine.objectContaining({
headers: jasmine.objectContaining({
Accept: 'application/json',
}),
method: 'GET',
}), jasmine.any(Function));
});
});
Ejemplo: http://vansande.org/2015/03/22/unit_testing_with_mocks_in_node_js/
var mock = require('mock-require');
var requestSpy = jasmine.createSpy();
mock('request', requestSpy);
var myFile = require('../../file/that/requires/request');
describe('the test', function() {
it('should use the mock', function() {
myFile.makeARequest();
expect(requestSpy).toHaveBeenCalled();
// and you should be able to invoke the callback also, e.g.
// var callback = requestSpy.calls.first().args[1];
// expect(callback(/* vars */))...
});
});
Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.
Comentario más útil
Prueba proxyquire :
Ejemplo: http://vansande.org/2015/03/22/unit_testing_with_mocks_in_node_js/
O simulacro de requerir