【问题标题】:Node.js unit testing (in 2013) [closed]Node.js 单元测试(2013 年)[关闭]
【发布时间】:2013-08-12 19:18:28
【问题描述】:

两年前我在 StackOverflow 中看到 Expresso、Vows 和 Mocha 是在 node.js 中进行单元测试的不错选择,但现在呢?我没有找到更多最近的问题。

【问题讨论】:

标签: node.js unit-testing


【解决方案1】:

Mocha 是最流行的单元测试框架,但我不太喜欢它,因为错误参数应该是一个错误对象,例如你不能传递错误数组。 Tap 和 should.js 也不错。

如果您不需要这些框架的所有功能,您可以使用内置的assert 模块构建您自己的功能。没有依赖,没有臃肿的代码,几行代码,很简单。

var tests = {
    "description 1": function (done){
        testSomethingAsync (function (error){
            assert.ifError (error);

            //assert other things

            done ();
        });
    },
    "description 2": function (){
        var res = testSomethingSync ();
        //assert other things
    }
};

var keys = Object.keys (tests);
var keysLength = keys.length;

(function again (i){
    if (i<keysLength){
        var fn = tests[keys[i]];
        if (fn.length){
            fn (function (){
                again (i + 1);
            });
        }else{
            fn ();
            again (i + 1);
        }
    }
})(0);

【讨论】:

  • 我也使用过 mocha,我喜欢使用“应该”而不是断言的行为驱动开发方法。在我看来,这是测试应用程序的更好方法。
  • test-studio 是一个 npm 包,它为单元测试提供了一个强大的、基于 Web 的前端。它支持诸如执行单个或一组测试以及将节点检查器步进到单个测试中之类的事情。在npmjs.org/package/test-studiodanderson00.com/2014/05/… 了解更多信息。
猜你喜欢
  • 2011-11-07
  • 1970-01-01
  • 2010-09-08
  • 2010-12-21
  • 2017-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-18
相关资源
最近更新 更多