使用 Mocha 在 node.js 函数上测试错误

Testing Error on node.js function with Mocha

安装 Node.js 并使用 mocha 进行测试,

我在同一目录中有两个文件,numbers.js 和 test.js

关注最佳答案:What is the purpose of Node.js module.exports and how do you use it?

numbers.js

var myFunc = function myFunc() {
      return 10;
};

exports.myFunc = myFunc;

test.js

var assert = require('assert');
var numbers = require('./numbers');

describe('numbers', function() {
    it('first function returns 10', function() {
            var result = numbers.myFunc;
            assert.equal(result, 10);
     });
});

但是当 运行 $ mocha 它 returns 错误:

AssertionError: [Function: myFunc] == 10

我做错了什么?

您需要调用 myFunc 函数。添加括号

describe('numbers', function() {
    it('first function returns 10', function() {
                  var result = numbers.myFunc(); <<<<<<

                      assert.equal(result, 10);
                        });
});

首先,检查您的 numbers 模块是否正确需要。

var numbers = require('../numbers'); // Check path of file numbers.js

如果是,写:

var result = numbers.myFunc(); // your module exports 'myFunc' property not 'myfunc'
assert.equal(result, 10); // your function return '10' instead of '1'