Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

174
Visualizações
¿Cómo puede probar los valores pasados al archivo EJS representado por Express?

Estoy tratando de probar mi aplicación web express usando mocha y chai, pero no puedo averiguar cómo probar las solicitudes HTTP que maneja express. Estoy usando ejs como mi motor de visualización, por lo que la mayoría de mis controladores de ruta se ven así:

 const someRouteHandlerForGETRequest = async (request, response) => { // usually some DB queries to get data to display in view const someQuery = await pool.query('SELECT * FROM table'); var sampleData = someQuery.rows; response.render('ejspage', { user: request.session.username, sampleData: sampleData }); }

Debido a esto, creo que mi respuesta. cuerpo es solo un archivo html / cadena html (usando cartero estaba tratando de ver qué había en la respuesta, parecía ser solo el html para la vista)

¿Cómo pruebo los datos que se pasan al archivo ejs (en este ejemplo, sampleData) que se devuelven desde la consulta de la base de datos node-pg ?

Mi intento actual de prueba es este:

 const { assert } = require('chai'); const chai = require('chai'); const chaiHttp = require('chai-http'); const app = require('../index'); chai.should(); chai.use(chaiHttp); describe('/GET activeorders', () => { it('it should GET active orders', (done) => { chai.request('http://localhost:3000') .get('/activeorders') .end((err, res) => { res.should.have.status(200); done(); }); }) })

Básicamente, lo único que puedo probar es el estado de respuesta, más allá de eso, no puedo probar ninguno de los valores que se devuelven de las consultas de la base de datos.

También intenté separar el modelo del controlador eliminando las consultas a la base de datos del controlador de ruta y, en su lugar, hacer que el controlador de ruta llame a una función que devuelve los resultados. Sin embargo, esto no resuelve mi problema porque usar chai-http para probar una solicitud HTTP todavía no me da acceso a los datos, ya que el controlador de ruta simplemente representa la página ejs con los datos.

about 4 years ago · Santiago Trujillo
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda