Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

167
Views
¿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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!