繁体   English   中英

R2D3的QUnit测试开箱即用 - 我做错了什么?

[英]R2D3's QUnit tests fail out of the box - what am I doing wrong?

我刚刚从github检查了R2D3 ,现在我想运行测试。 我是这个仓库的新手,而不是JS测试专家,但认为正确的方法是在Web浏览器中查看tests / index.html ,看看QUnit测试是否通过。

但是,当我尝试这样做时,52个测试中有41个直接开箱即用(在OSX上的Chrome,Firefox和Safari中):

在此输入图像描述

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

将问题追溯到r2d3.v2.js的根 ,似乎是这两个函数是问题所在:

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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM