单元测试 – node.js:以一种方式导出文件中的所有功能(例如,启用单元测试)的任何方法

在node.js中,是否有任何快捷方式导出给定文件中的所有功能?我想做这个单元测试目的,因为我的单元测试是在一个单独的文件从我的生产代码。

我知道我可以手动导出每个功能,如:

exports.myFunction = myFunction;

但是我想知道是否有更简单/更轻松的方式来做到这一点。

(是的,我意识到出于模块化的原因,导出所有功能并不总是一个好主意,但是对于单元测试,您希望看到所有的小功能,以便您可以逐个测试。)

谢谢!

你可以这样做:

// save this into a variable, so it can be used reliably in other contexts
var self = this;

// the scope of the file is the `exports` object, so `this === self === exports`
self.fnName = function () { ... }

// call it the same way
self.fnName();

或这个:

// You can declare your exported functions here
var file = module.exports = {
  fn1: function () {
    // do stuff...
  },
  fn2: function () {
    // do stuff...
  }
}

// and use them like this in the file as well
file.fn1();

或这个:

// each function is declared like this. Have to watch for typeos, as we're typing fnName twice
fnName = exports.fnName = function () { ... }

// now you can use them as file-scoped functions, rather than as properties of an object
fnName();
http://stackoverflow.com/questions/9134081/node-js-any-way-to-export-all-functions-in-a-file-en-masse-e-g-to-enable-uni

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:单元测试 – node.js:以一种方式导出文件中的所有功能(例如,启用单元测试)的任何方法