使用Coffeescript测试Nodejs

时间:2012-04-29 02:22:47

标签: unit-testing node.js tdd coffeescript acceptance-testing

我正在尝试使用node.js和coffeescript,我想知道什么是这些技术的良好单元测试和验收测试设置。项目的数据组件(后端/ webserver /数据库)使用coffeescript和node.js,视图和组件将使用coffeescript / javascript(使用钛金属加速器),它们是非常独立的,但如果它们可以使用相同的测试两者的框架会很酷。

经过一番搜索,我听到的名字是Jasmine,Zombie和Mocha。

任何帮助将不胜感激谢谢。

更新:

我忘了添加我习惯使用rails开发并使用rspec进行单元测试,使用Cucumber进行验收测试。

2 个答案:

答案 0 :(得分:3)

MochaVowsJasmine是众所周知的。 (我没有听说过Zombie)。哪一个使用是一种意见问题。我们发现誓言非常重量级。 Jasmine向更好的方向发展,但摩卡现在正在做这项工作。我们在Mocha上用于BDD风格单元测试取得了不错的成功。这是an example

Scout = require '../../Scout'
FilteringStrategy = require '../../models/filteringStrategies/FilteringStrategy'
FormattingStrategy = require '../../models/formattingStrategies/FormattingStrategy'
RetrievalStrategy = require '../../models/retrievalStrategies/RetrievalStrategy'
EchoInputStrategy = require '../../models/retrievalStrategies/EchoInputStrategy'
CdrStrategy = require './mocks/CdrStrategy'
EveryOtherStrategy = require './mocks/EveryOtherStrategy'
ArrayToStringStrategy = require './mocks/ArrayToStringStrategy'

require 'should'

describe 'When constructed with a custom retrieval technique', ->
  describe '#get', ->
    it 'should return results', (done)->
      data = [0..10]
      connectionScout = new Scout(CdrStrategy)

      connectionScout.get data, (results)->
        results.should.eql [1..10]
        done()

对于NodeJS和Coffeescript,似乎没有任何完全集成的Cucumber式商业可读DSL工具。

答案 1 :(得分:0)

我使用Jasmine,它适用于我,你可以用coffeescript编写所有的测试用例。