Require JS file in Chai TDD -- TypeError: is not a function

Require JS file in Chai TDD -- TypeError: is not a function

我刚开始使用 Chai 进行 TDD。想要 运行 我在 Chai 的测试文件中传递的函数,并检查它是否返回了一个对象。看起来我没有正确访问该功能。

我在测试 运行 时在终端中得到这个 -- "TypeError: parse is not a function"

parser.parse(xml)是parser.js文件中的一个函数 parser.js 有这个模式 --

parser.js --

var VASTParser = {
  parse:function(xml) {
    return xml;
  },
  ...
};

解析器-test.js --

var expect    = require("chai").expect;
var parser = require("../src/parser");

describe('VAST parsing from XML', function() {
    it('should take xml and parse to object', function() {
      var xmlStr = '<xml><stuff></stuff></xml>';
      var xmlObj = parser.parse(xmlStr.documentElement);
      expect(xmlObj).to.be.a('object');
    });
});

您还没有从您的模块中导出任何内容。 parser.js 模块的设置方式,您可以这样做:

var VASTParser = {
  parse:function(xml) {
    return xml;
  },
  ...
};

// Add this.
module.exports = VASTParser;

然后它应该可以工作了。