Articles of chai

chai-http / superagent: establezca Content-Type del campo de formulario mulipart

Cargar un archivo en una prueba de integración de la siguiente manera: chai.request(server.instance) .post(‘/profile/photo/0’) .set(‘Access-Token’, accessToken) .set(‘API-Key’, testConfig.apiKey) .set(‘Content-Type’, ‘image/png’) .field({contentId: ‘foobar’}) .attach(‘file’, fs.readFileSync(__dirname + ‘/file.png’), ‘file’) .end((err, res) => { console.log(JSON.stringify(res.body)) res.should.have.status(200) done() }) El tipo de contenido del archivo multiparte es: application/octet-stream y necesito que sea image/png . ¿Cómo puedo configurar eso?

karma-sinon-chai falla después de mudarse a Windows

Tengo pruebas de unidad ejecutándose bajo Karma y estoy usando la biblioteca sinon-chai. Todo funcionaba bien en Mac, pero ahora me he movido a Windows y está ocurriendo el siguiente error: C:\Users\mchambe4\dev\simple\client>node ./node_modules/gulp/bin/gulp.js unit-tests-dev [16:29:31] Using gulpfile ~\dev\simple\client\gulpfile.js [16:29:31] Starting ‘unit-tests-dev’… [16:29:31] Starting Karma server… WARN [karma]: Port 9876 in use INFO [karma]: Karma v0.12.37 […]

No se puede acceder a los valores de prueba dynamics dentro de la función “it” de mocha, aunque está accesible dentro de la función “describir”

Pude acceder a los valores dynamics en el interior, describí exactamente pero no dentro del bloque. (Sobre todo estoy obteniendo el último valor de la matriz) for( var i =0 ;i< dynamicValues.length; i++){ (function wrap(dynamicValue){ describe("condition", function(){ // It is logging correct value. console.log(dynamicValue) it("should be accessible", function(){ // It is not logging correct value, […]

Cómo probar un get / post api con mocha y chai usando autenticación

Estoy probando algunas aplicaciones get y post apis de mi aplicación node js usando mocha y chai. Hasta ahora, lo he estado ejecutando en mi servidor local y el código de muestra para cada publicación y obtener api se muestra a continuación: process.env.NODE_ENV = ‘test’; var mongoose = require(“mongoose”); var db_model = require(‘../models/myproject.model’); var chai […]

Propiedades fantasmas extrañas que se envían al método Proxy get

Este es el código que está causando el error: console.log(objectWithProxyProperty); El error con el que estoy lidiando es cualquiera, TypeError: Cannot read property ‘apply’ of undefined o Error: The assertion library used does not have a ‘inspect’ property or method. Dependiendo de qué cheques use, lo que se demuestra en el siguiente código. Lo que […]

Chai no reconoce el tipo de contenido “aplicación / javascript”

No importa lo que devuelva mi servidor, Chai siempre me da res.body={} si el tipo de contenido es “application / javascript“. Aquí está mi servidor: const http = require(‘http’); const server = http.createServer(function (request, response) { response.writeHead(200, {“Content-Type”: “application/javascript”}); response.end(‘console.log(“test”);’); }); module.exports = server; server.listen(process.env.PORT || 8000); console.log(“Server running at http://localhost:8000/”); Da salida a console.log(“test”); […]

Cómo borrar la base de datos de prueba mysql antes de ejecutar cualquier prueba

Tengo una aplicación muy simple de Sails.Js que contiene modelos de comentarios y publicaciones . Estoy escribiendo algunos casos de prueba utilizando Mocha y Chai . El caso de prueba se está ejecutando bien, pero no puedo borrar la base de datos de prueba antes de ejecutar cualquier prueba. /*Comment.js */ module.exports = { attributes: […]

Cómo publicar una matriz de objetos con Chai Http

Estoy tratando de publicar una matriz de objetos con ChaiHttp como esto: agent.post(‘route/to/api’) .send( locations: [{lat: lat1, lon: lon1}, {lat: lat2, lon: lon2}]) .end (err, res) -> console.log err, res Devuelve un error de la siguiente manera: TypeError: first argument must be a string or Buffer at ClientRequest.OutgoingMessage.end (_http_outgoing.js:524:11) at Test.Request.end (node_modules/superagent/lib/node/index.js:1020:9) at node_modules/chai-http/lib/request.js:251:12 at […]

¿Cómo hacer que Estambul genere cobertura para todo mi código fuente?

Actualmente, Estambul solo está generando cobertura para los archivos que se usan en mis pruebas, lo cual está bien, pero parece anular el propósito de tener cobertura de alguna manera. No tengo ninguna configuración de Estambul, y la npm test mediante la npm test con la siguiente secuencia de comandos: $ istanbul cover _mocha — […]

Simula un método de clase usando burla y sinon.

Estoy aprendiendo a hacer una prueba unitaria usando el módulo de nodo burla con sinon. Usando solo una burla y una clase simple, puedo inyectar un simulacro con éxito. Sin embargo, me gustaría inyectar un talón de sinon en lugar de una clase simple, pero estoy teniendo muchos problemas con esto. La clase que estoy […]