使用Mocha或Jasmine对Node.js REST服务进行单元测试

时间:2012-07-11 09:14:53

标签: unit-testing node.js jasmine mocha

我有为node.js导出REST方法的节点模块(索引,显示,更新,删除)..

测试mocha或jasmine单元测试框架的最佳方法是什么?

我该如何描述我的测试?

感谢。

2 个答案:

答案 0 :(得分:3)

我个人使用api-easy,它基于誓言和请求。 使用此模块,您可以轻松地测试REST API。

这是一个例子:

 var APIeasy = require('api-easy'),
      assert = require('assert');

  var suite = APIeasy.describe('your/awesome/api');

  suite.discuss('When using your awesome API')
       .discuss('and your awesome resource')
       .use('localhost', 8080)
       .setHeader('Content-Type', 'application/json')
       .post({ test: 'data' })
         .expect(200, { ok: true })
         .expect('should respond with x-test-header', function (err, res, body) {
           assert.include(res.headers, 'x-test-header');
         })
       .export(module);

答案 1 :(得分:2)

您可以轻松地使用request module来执行HTTP请求(或用于调用REST API)。当响应可用时,您可以在回调中执行断言。对于断言,您可以使用任何您喜欢的断言模块,但我建议您尝试should.js module。编写should语句很有趣。

关于在mocha,jasmine,vows或任何其他测试框架之间进行选择。你选择哪一个并不重要。查看他们的API并选择您认为对您有效的框架,并与您的思维和编码风格相匹配。