我写了一个基本的mocha单元测试来测试节点中的算法挑战。我想要一个带有chai库单元测试的mocha的例子,用插入的函数参数测试函数的返回。
// algorithm.js(函数)
var alg = function(num) {
return num;
}
module.exports = alg;
// spec / algorithm.js(测试)
var path = require('path');
var expect = require('chai').expect;
var algorithm = require(path.join(__dirname, '..', './algorithm.js'));
describe('algorithm()', function () {
'use strict';
it('exists', function () {
expect(algorithm).to.be.a('function');
});
/* ******* What should this be ******* */
it('should equal 1', function () {
expect(algorithm.alg(1)).to.equal(1);
});
});
我使用yeoman test-generator来生成节点设置。测试'alg'是否为函数的第一个测试通过,但我不知道在阅读文档后第二次测试应该是什么。
答案 0 :(得分:2)
在答案文件中,它应该是:
module.exports = function(param) { // .... };
我想通了,正确的函数是expect(func).to.deep.equal(return);对于测试文件:
var path = require('path');
var expect = require('chai').expect;
var algorithm = require(path.join(__dirname, '..', './algorithm.js'));
describe('algorithm()', function () {
'use strict';
it('exists', function () {
expect(algorithm).to.be.a('function');
});
/* ******* This should be ******* */
it('should equal 1', function () {
var res = algorithm(1);
expect(res).to.deep.equal(1);
});
});