Javascript R2D3和x27;s QUnit测试无法通过开箱即用-我做错了什么?

Javascript R2D3和x27;s QUnit测试无法通过开箱即用-我做错了什么?,javascript,d3.js,raphael,qunit,Javascript,D3.js,Raphael,Qunit,我刚从github签出,现在我想运行测试。我是这个repo的新手,不是JS测试方面的专家,但我认为正确的方法是在web浏览器中查看QUnit测试是否通过 然而,当我尝试这样做时,52个测试中有41个直接失败(在OSX上的Chrome、Firefox和Safari中): 我可以从开发人员工具中看到所有文件都正确加载,因此不仅仅是路径错误。查看代码表明.append()失败。前两个错误位于tests/core/append tests.js中:var el=svg.append('image')和

我刚从github签出,现在我想运行测试。我是这个repo的新手,不是JS测试方面的专家,但我认为正确的方法是在web浏览器中查看QUnit测试是否通过

然而,当我尝试这样做时,52个测试中有41个直接失败(在OSX上的Chrome、Firefox和Safari中):

我可以从开发人员工具中看到所有文件都正确加载,因此不仅仅是路径错误。查看代码表明
.append()
失败。前两个错误位于
tests/core/append tests.js中:
var el=svg.append('image')
和:
var el=svg.append('line')

追踪问题,问题似乎在于这两个函数:

Raphael.fn.appendChild = function(childNode) {
  var node = this.buildElement(childNode);
  if (node) {
    this.shadowDom.appendChild(childNode);
    node.updateStyle(); //  Apply CSS styles
  }
  return node;
};
Raphael.fn.buildElement = function(childNode) {
  var type = childNode && childNode.nodeName,
      node =  type ? this[type.toLowerCase()]() : null;

  if (node) {
    // Ensure Paper can be referenced from sets
    node.shadowDom = childNode
    node.parentNode = this;
    // Link the shadowDOM node by the Raphael id.
    node.shadowDom.r2d3 = true;
    node.shadowDom.r2d3id = r2d3UID();
    node.paper = this;
    node.tagName = type.toLowerCase();
        node.style = new ElementStyle(node);

    r2d3Elements[node.shadowDom.r2d3id] = node;
  }
  return node;
}

然而,我的调试能力没有进一步提高。有人能告诉我哪里出了问题吗?

看起来您正在用Chrome运行qunit测试。R2D3仅适用于IE。

duhhh!非常感谢。我将安装一个IE虚拟机并试用它。