我正在使用 mocha、supertest 和 assert 来测试我的 Express 应用程序。我的 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()
如何制作 mocha print res.body,但仅在测试失败时?如果可能的话,我宁愿不必console.log(res.body) if test.failed
在每个describe
块中放置类似的东西。