Pregunta

Estoy escribiendo un servicio de descanso simple en Node.js (solo experimentando), tratando de averiguar si el nodo ha madurado lo suficiente todavía. También estoy usando NodeUnit para mis pruebas unitarias.

Ahora, NodeUnit funciona bien como un marco de prueba para probar las requisitos de obtención, sin embargo, utilizando los httputils, las pruebas posteriores a la solicitud no parece ser obvio.

Las pruebas obtienen esto:

exports.testHelloWorld = function(test) {
    test.expect(1);
    httputil(app.cgi(), function(server, client) {
        client.fetch('GET', '/', {}, function (resp) {
            test.equals('hello world'), resp.body);
            test.done();
        });
    });
}

Pero, ¿cómo pruebo las solicitudes posteriores? Puedo cambiar 'Get' a 'publicar' e intentar escribir algo al 'cliente', sin embargo, esto no funciona antes. Fetch se llama porque aún no hay conexión. Y tampoco funciona en la función de devolución de llamada. Fetch, porque en ese momento la solicitud ya se ha ejecutado.

He investigado el código de NodeUnit, y no parece haber soporte para publicar datos en este momento. Así que aquí están mis preguntas:

  • ¿Qué se necesita para probar las solicitudes posteriores?
  • ¿Debo incluso probar las solicitudes posteriores en una prueba unitaria, o eso cae en una prueba de integración y debería usar otro enfoque?
¿Fue útil?

Solución

Puede probar esta biblioteca en lugar de NodeUnit: https://github.com/masylum/testosterone

Está construido específicamente para probar aplicaciones web a través de HTTP.

Otros consejos

Acabo de escribir esta biblioteca para probar los servidores HTTP con NodeUnit:

https://github.com/powmedia/nodeunit-httpclient

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top