Sono confuso, quindi se uso SuperTest che a quanto pare ha una sua asserzione, non devo preoccuparmi di usare Chai? O quando richiedo Chai, Supertest lo sa e lo utilizza come meccanismo previsto?L'aspettativa di SuperTest contro Chai.expect
risposta
SuperTest estende l'oggetto request
di SuperAgent per includere una funzione expect
. Non funziona come l'asserzione expect
di Chai, ma può essere utilizzata per affermare lo stato e le intestazioni della risposta http e può essere combinata con Chai expect
.
request(app).
get('/').
expect(200). // request.expect, is status code 200?
expect('Content-Type', /json/). // request.expect, does content-type match regex /json/?
expect(function(res){ // request.expect, does this user-provided function throw?
// user-provided function can include Chai assertions
expect(res.body).to.exist;
expect(res.body).to.have.property('status');
}).
end(done);
thx. Basta chiedersi quale situazione vorrebbe in un test BDD affermare usando 'aspettarsi' di SuperTest e poi subito dopo usare un Chai 'expect'. Voglio dire una volta che ti aspetti qualcosa ed è vero, il tuo test BDD passa ... Non vedo proprio la necessità che Chai si aspetti quando testare le richieste/risposte di integrazione nel tuo BDD o altri test di integrazione ... – PositiveGuy
- 1. Supertest: verificare l'URL di reindirizzamento
- 2. Formattazione di oggetti negli errori chai.expect
- 3. APL contro A contro J contro K?
- 4. Verifica se il download ha esito positivo con supertest
- 5. Mocha Supertest problema corrispondenza corrispondenza modello corpo risposta
- 6. Lettura buffer/stream di output di risposta con supertest/superagent su server node.js
- 7. Ajax contro socket Web contro Web Workers
- 8. contro ETW
- 9. richieste di test che reindirizzano con la moka/Supertest nel nodo
- 10. Tentativo di utilizzare supertest per controllare il corpo della risposta - ottenendo un errore
- 11. Pro e contro di Haskell
- 12. Pro e contro di READ_COMMITTED_SNAPSHOT
- 13. Pro e contro di MPMoviePlayerController contro l'avvio di UIWebView per lo streaming di film
- 14. Monade di Haskell contro Monade di APL
- 15. Schema di strategia contro Iniezione di dipendenza
- 16. Istanziazione di interfacce contro istanza di classe
- 17. Numpy efficiente contro tutti
- 18. PostgreSQL ILIKE contro TSEARCH
- 19. limiti UIScreen contro applicationFrame
- 20. "se" contro "switch"
- 21. Haskell Contro Operator (:)
- 22. JQuery Click contro Change
- 23. AJAX contro CURL
- 24. Trigger contro evento JPA
- 25. Scala: piega contro piegaLeft
- 26. @XMLRootElement contro @XmlType
- 27. Akka mapTo contro asInstanceOf
- 28. System.Web.Http.Authorize contro System.Web.Mvc.Authorize
- 29. window.location contro solo posizione
- 30. JLayeredPane contro stratificazione Container
Sono confuso su quale sia la domanda? Vuoi capire il funzionamento interno dei framework di test e delle librerie di assertion? – Clarkie
Quando si utilizza SuperTest per fare una richiesta e si inizia a far valere l'uso di 'expect' presumo dal momento che ho definito mi aspetto tramite la libreria di asserzione Chai che quella è la libreria che sta usando. In altre parole, SuperTest non ha una propria libreria di asserzioni, giusto? Devi dirgli quale libreria impostando la variabile expect come fai in Mocha e poi SuperTest è in grado di usare questa variabile in qualche modo per aggiungerla alla fine della sua funzione richiesta chiamata – PositiveGuy
hmm, basta guardare nuovamente i documenti di SuperTest e Dice che sta usando la funzione 'expect' di SuperAgent perché assomiglia alle "asserzioni HTTP semplificate tramite super-agente". Ma poi dice anche che 'SuperTest funziona con qualsiasi framework di test, ecco un esempio senza usare alcun framework di test:' quindi sono confuso qui. – PositiveGuy