2014-09-02 15 views
6

Ngay bây giờ tôi đang cố gắng kiểm tra bộ điều khiển của mình và tôi cần truy cập phiên, tôi phát hiện ra rằng bạn có thể đăng nhập bằng cách sử dụng superagent nhưng tùy chọn duy nhất của tôi để đăng nhập vào web ứng dụng là thông qua google oauth, và ngay bây giờ tôi không thể tìm thấy bất kỳ mẫu thích hợp để thử nghiệm với Mocha. Bất kỳ giúp đỡ?Làm thế nào để đơn vị kiểm tra hộ chiếu google oauth trong buồm js với Mocha

Trả lời

1

Điều đó tùy thuộc vào cách bạn triển khai các phiên của mình.

Trong ứng dụng Sails của tôi, sau khi xác thực, tôi đặt req.session.authenticated = true, cùng với các tập tin cookie, vv Một điều bạn có thể làm gì nếu bạn đang làm một cái gì đó tương tự là trong lộ trình /login của bạn, thêm:

if (process.env.NODE_ENV === 'test') { 
    req.session.authenticated = true; 
    // do what you would do next after authentication 
} else { 
    // do normal login procedures 
} 

Sau đó, , trong các thử nghiệm của bạn, trong một cái móc before, bạn có thể sử dụng superagent để thực hiện một yêu cầu đến đường /login để xác thực:

describe('MyController', function() { 
    var agent; 

    before(function (done) { 
    agent = require('superagent').agent('YOUR_APP_URL'); 

    // authenticate 
    agent 
     .post('/login') 
     .end(done) 
    }); 

    // in your tests, use the same agent to make future requests 
    describe('#someAction', function() { 
    it('should do something', function(done) { 
     agent. 
     .post('someAction') 
     .end(function (err, res) { 
      // should work! 
     }); 
    }); 
    }); 
}); 

Nó chỉ là một ý tưởng - bạn có thể thích nghi với phương pháp này để tuy nhiên bạn checki ng phiên. Điều này làm việc cho ứng dụng Sails của tôi bằng cách sử dụng Mocha để kiểm tra.

Các vấn đề liên quan