如何为MVC Controller函数编写简单的jasmine测试(sails.js)

时间:2013-07-16 16:55:18

标签: node.js tdd jasmine sails.js

我想做一个TDD。 但是,我将在我的sails.js项目的控制器函数上编写测试

/*---------------------
    :: Gamble
    -> controller
---------------------*/
var GambleController = {

  index: function(req, res) {
      res.send('Hello World!');
  }


};
module.exports = GambleController;

但是,如何编写测试来测试输出Hello world的索引函数? 任何人都可以举个例子吗? 感谢

2 个答案:

答案 0 :(得分:5)

你可以使用superagent,有some example usages,这里有一个

describe('/signout', function() {
  var agent = superagent.agent();
  it('should start with signin', loginUser(agent));
  it('should sign the user out', function(done) {
    agent.get('http://localhost:3000/signout').end(function(err, res) {
      res.should.have.status(200);
      res.redirects.should.eql(['http://localhost:3000/']);
      res.text.should.include('Who are you?');
      return done();
    });
  });
  // ...

答案 1 :(得分:1)

隐藏结果对象应该非常简单:

describe('when we get the game controller', function () {
   it ('should return hello world', function (done) {
      GameController.index(null, {
         send: function (message) {
            assert.equal(message, 'Hello World!');
            done();
         };
      });
   });
});