Articles of 断言

我如何构buildnode.js摩卡testing

我非常喜欢在node.js中进行unit testing,我想知道在node.js中编写unit testing的最佳做法是什么,比如'it'方法可以有多less个asserttesting用例,有没有什么标准只用一个方法写一个testing用例。 请给我一个写unit testing用例的想法。 提前致谢。:)

为什么Node.js Assert没有notOk()方法?

我正在学习使用mocha和assert模块在Node.js中进行testing。 assert有这些types的方法: assert.equal(); assert.deepEqual(); assert.deepStrict(); assert.strict(); assert.ok(); // Is the value true? 然后有一些对立面: assert.notEqual(); assert.notDeepEqual(); assert.notDeepStrict(); assert.notStrict(); 但有一个缺less…为什么没有一个notOk()方法来testing结果值是否为false ? 这让我想到,也许有一些基本的东西我缺less一般的unit testing,也许我只应该testing,如果价值观是真实的,从来没有错误… 就目前而言,我只是在做这个来testingfalsey陈述: assert.ok(!myValue); 那是你应该怎么做的? 再说一遍,为什么不存在一个notOk()方法,因为所有其他的方法都有一个not版本?

Node.js:我应该在生产代码中保存assert()吗?

一个方法论问题: 我正在使用node.js,mongodb和express.js实现一些API的接口。 在许多(几乎所有)网站上,我看到这样的代码: method(function(err, data) { assert.equal(null, err); }); 问题是:在生产时我是否应该在自己的代码中声明自己的声明(至less对于“低含义”错误)? 或者,这些只是用于testing代码,而且我应该每次更好地处理所有错误?

Node.js断言库与其他断言库

根据node.js声明库文件 : 该模块旨在供Node.js内部使用,但可以通过require('assert')在应用程序代码中使用。 但是,assert不是一个testing框架,不能用作通用的断言库。 我将Chai视为另一个断言库(没有BDD API,只有assert API),最后我发现断言function非常相似。 为什么柴的断言库是一个更好的断言库? 它比node.js所做的一切都做得更好(除了在断言方面更丰富之外,这只是语法上的糖衣)。 即使简单的事情,如执行断言的总数不是两个都可用。 我错过了什么吗?

复制Node.js`assert`断言spec`expect`

与使用自定义的开发人员友好检查的非断言代码相反, class Some { constructor(arg) { if (Array.isArray(arg) && arg[0] === 'foo') this.foobar = arg.concat('bar').join(''); else console.error('Bad Some constructor arg'); } } 目前testing的代码与Node assert断言具有合理有意义的message参数: class Some { constructor(arg) { assert.deepEqual(arg, ['foo'], 'Some constructor arg'); this.foobar = arg.concat('bar').join(''); } } 这个说法是有的 保持代码平坦和可读 对调用堆栈的不正确使用提供有意义的反馈 防止函数执行,不会进一步传播错误 抛出错误并将error handling留给调用者 目前的规格可能如下所示: it('…', () => { let some = new Some(['foo']); […]

Assert.fail(node.js):运算符参数是什么意思?

Node.jsunit testing模块有基本的assertion assert.fail: assert.fail(actual, expected, message, operator) operator是什么意思? 我真的很陌生,unit testing…