Я использую mocha, supertest и assert для тестирования своего Express-приложения. Приложение My Express запускается в режиме разработки, поэтому при сбое запроса оно возвращает полезную отладочную информацию в формате JSON. Я хотел бы распечатать эти данные в своем тестовом наборе, но только в том случае, если тест не прошел. Пример одного из моих тестов (на CoffeeScript):
assert = require "assert"
request = require "supertest"
url = request "http://localhost:3000"
describe "GET /user/:id", ->
it "should return one user", (done) ->
url
.get("/user" + id)
.expect(200)
.expect("Content-Type", /json/)
.end (err, res) ->
if err
done err
else
# assuming the test reaches here, but fails on one of the following,
# how do i make mocha print res.body?
assert.equal(res.body.name, user.name)
assert.equal(res.body.email, user.email)
done()
Как мне заставить мокко распечатать res.body, но только если тест не прошел? Я бы предпочел не помещать что-то вроде console.log(res.body) if test.failed
в каждый describe
блок, если это возможно.