2016-08-19 8 views
0

私のコントロール下で応答ステータスが合格し、失敗します。しかし、私はexpect(res.body)テストに合格することができません。ブラウザに表示されたときにプログラムされた通りに表示されます。ブラウザーでレンダリングされたものをテストするためのmocha/chaiテストは常に失敗します。私は何を間違えているのですか? ヘルスチェック経路コード:chai expect(res.body)が一貫して失敗します

import express from 'express'; 
const router = express.Router(); // eslint-disable-line new cap 
// GET /health-check - checking for basic server reaction 
router.get('/health-check', (req, res) => 
    res.status(200).send('CONGRATS') 
); 
export default router; 

モカテスト:

it('should return 200 and res.body of OK', (done) => { 
     request(app) 
      .get('/api/health-check') 
      .expect(200) 
      .end(function(err, res) { 
       if(err) 
        return done(err); 
       expect(res.body).to.equal('CONGRATS'); 
       return done(); 
      }); 

    }); 

答えて

1

[OK]を、私はそれを考え出しました。レスポンスをログに記録してから、正しく応答するまでダイビングする必要がありました。上の私の同じでは、空のセットまたはnullを返していました。私の問題に答えるために傾向がある私のコードは次のとおりです。

.end(function(err, res) { 
     if(err) 
     return done(err); 
     console.log(res.text); 
     expect(res.text).to.equal('CONGRATS'); 
     return done(); 

私のオリジナルのアイデアは、私はそれに対してテストするレスポンスの「.body」をターゲットとしていたということでした。ここには現れていないようです。

関連する問題