1

以下のコードを実行すると、ユーザーがログインし、ブラウザーが新しいルートにリダイレクトされますhome/homeリダイレクト先を検証するために、以下のテストを構成するにはどうすればよいですか。

アプリケーションは正常に動作しています。テストケースを整理しようとしています。

ありがとう

   it('should login user',
    function(done) {
        request
        .post(url.parse('http://localhost:3000/login'))
        .send({
            userName: "load@xyz.com", password: "xyzpassword"
        })
        .end(function(res) {
            res.statusCode.should.equal(302);
            done();
        })
    });

追加情報...コードは機能しますが、stackdumpで失敗するため、テストが成功したかどうかを確認できません

 1) authentication_tests should login user:
     TypeError: first argument must be a string, Array, or Buffer
      at ClientRequest.write (http.js:601:11)
      at ClientRequest.end (http.js:681:16)
      at Request.end (/Users/aaronksaunders/dev/node_stuff/sqchic/node_modules/superagent/lib/node/index.js:602:7)
      at Request.redirect (/Users/aaronksaunders/dev/node_stuff/sqchic/node_modules/superagent/lib/node/index.js:459:8)
      at ClientRequest.<anonymous> (/Users/aaronksaunders/dev/node_stuff/sqchic/node_modules/superagent/lib/node/index.js:569:49)
      at ClientRequest.emit (events.js:64:17)
      at HTTPParser.<anonymous> (http.js:1349:9)
      at HTTPParser.onHeadersComplete (http.js:108:31)
      at Socket.ondata (http.js:1226:22)
      at Socket._onReadable (net.js:683:27)
      at IOWatcher.onReadable (net.js:177:10)
4

1 に答える 1

0

スーパーエージェントのドキュメントから

応答ヘッダーフィールド

res.headerには、解析されたヘッダーフィールドのオブジェクトが含まれ、ノードと同じようにフィールド名を小文字にします。たとえば、res.header['content-length']。

したがって、次の行に沿って確認できます。

(/home$/).test res.header['location']

リダイレクトテストケースの場合。

于 2012-02-28T06:21:04.067 に答える