【问题标题】:Require JS file in Chai TDD -- TypeError: is not a function [closed]在 Chai TDD 中需要 JS 文件——TypeError:不是函数[关闭]
【发布时间】:2016-09-22 20:31:51
【问题描述】:

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

我在终端运行测试时得到了这个—— “TypeError:解析不是函数”

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

parser.js --

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

parser-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');
    });
});

【问题讨论】:

    标签: javascript tdd mocha.js chai


    【解决方案1】:

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

    var VASTParser = {
      parse:function(xml) {
        return xml;
      },
      ...
    };
    
    // Add this.
    module.exports = VASTParser;
    

    然后它应该可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-10
      • 2019-05-27
      • 2016-06-19
      • 1970-01-01
      • 2013-01-28
      • 2013-02-16
      • 2018-01-06
      • 2015-10-17
      相关资源
      最近更新 更多