Express アプリをテストするために mocha、supertest、および assert を使用しています。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