2017-03-14 4 views
2

をロギングないが、しかし、私は、この特定のブロックのための任意の応答を取得することはできませんよ -モカTDD、チャイ-HTTP私はチャイ-HTTPを使用して認証APIをテストしようとしています任意の応答

describe('Authenticate user',() => { 
it('Should Authenticate user',() => { 
    let server = require(process.cwd() + "/server.js") 
    let token 
    chai.request(server) 
     .post('/api/authenticate') 
     .send({ 
      "userid": "Jeetendra", 
      "password": "abcd1234" 
     }) 
     .then(res => { 
      console.log('Inside authenticate result block') 
      console.log(res) 
      token = res.body.data 
     },err => { 
      console.log('Inside authenticate error block') 
      // token = res.body.data 
      console.log(err) 
     }) 
    }) 
}) 

上記の場合コードブロック私はログを印刷していません。誰も私がここで行方不明に助けてくれる?

答えて

2

コードが非同期で実行されているようです。あなたのテストケースにdoneコールバックを渡す必要があり、その後、

it('Should Authenticate user', (done) => { 
    let server = require(process.cwd() + "/server.js") 
    let token 
    chai.request(server) 
     .post('/api/authenticate') 
     .send({ 
      "userid": "Jeetendra", 
      "password": "abcd1234" 
     }) 
     .then(res => { 
      console.log('Inside authenticate result block') 
      console.log(res) 
      token = res.body.data 
      done() 
     },err => { 
      console.log('Inside authenticate error block') 
      // token = res.body.data 
      console.log(err) 
      done(err) 
     }) 
    }) 
+0

ありがとうございます。 – Jeet

+0

これはまだ私に約束が決して解決されないという問題を与えています。 – Jeet

+0

'try-catch'ブロックに全部をラップしてください....あなたがurllib2の問題に巻き込まれた場合、約束を返す、拒否する、または上げることはできません。 – LostJon

1

モカガッチャ

​​から撮影

フラグテスト完了するためにそれを呼び出す:矢印機能(「ラムダを渡す

")はモカに落ちる。これの字句的結合のために、そのような関数はモカの文脈にアクセスすることができません。

done()の種類を使用すると、約束の目的が一掃されます。通常=>function(){}に変更するだけで、itに問題が修正されます。

describe('Authenticate user',() => { 
    it('Should Authenticate user', function(){ // use function rather than arrow 
    let server = require(process.cwd() + "/server.js") 
    let token 
    chai.request(server) 
    .post('/api/authenticate') 
    .send({ 
     "userid": "Jeetendra", 
     "password": "abcd1234" 
    }) 
    .then(res => { 
     console.log('Inside authenticate result block') 
     console.log(res) 
     token = res.body.data 
    },err => { 
     console.log('Inside authenticate error block') 
     // token = res.body.data 
     console.log(err) 
    }) 
    }) 
}) 
+0

お返事ありがとうございます。私は確かにそれを念頭に置くでしょう。 – Jeet

関連する問題