私はmochaでログインプロセスをテストしていました。これが私のテストケースの例です
var request = require('supertest');
var app = require('../app');
describe('Example', function() {
var agent = request.agent(app);
before(register(user));
before(login(agent, user));
before(function(done) {
agent
.get('/verify')
.expect(200)
.end(done);
});
});
register
と関数の両方login
が正常に機能し、複数の前も期待どおりに定義の順序で実行され、最初register
にlogin
次にリクエストされました。しかし、3 番目before
の では、/verify
常にagent
ログインしていないと言います。
コードを次のように変更すると:
describe('Example', function() {
var agent = request.agent(app);
before(register(user));
before(login(agent, user));
it('should login as expected', function(done) {
agent
.get('/verify')
.expect(200)
.end(done);
});
});
そして、今回agent
は期待通りに記録されました。それは奇妙だ。誰かが私を助けてくれることを願っています、ありがとう。