【问题标题】:JsTestDriver easy appending of elements to the body via :DOC syntax?JsTestDriver 通过 :DOC 语法轻松将元素附加到正文?
【发布时间】:2010-01-27 20:31:26
【问题描述】:

我正在使用js-test-driver 在多个浏览器上测试我的 Javascript 代码:

TestCase("DropDownValueReplacerTestCase", {
    setUp:function() {
        console.log("BEGIN: setUp");
        /*:DOC += <form id="bob"></form> */

        console.log("END: setUp");
    },

    tearDown:function() {
        console.log("BEGIN: tearDown");

        console.log("END: tearDown");
    },

    testA:function() {
        console.log("Creating foo element.");

        /*:DOC += <form id="bob"></form> */

        var forms = document.getElementsByTagName('form');

        assertNotNull(forms);
        console.log("forms:" + forms.length);
        assertTrue(forms.length > 0);

        var bob = document.getElementById("bob");
        assertNotNull(bob); 
    }
});

/*:DOC += */ 语句应该将 html 附加到 body 标记,但显然由于某种原因它不起作用。

当我将 :DOC 语法替换为更详细的语法时,例如:

    var form = document.createElement("form");
    document.body.appendChild(form);
    form.id = "bob";

测试工作正常。

他们是否更改了某些内容而不更新文档?我按照网站的说明从 SVN 的主干中检查了 hello world 示例以进行测试。好像没有版本号什么的。

【问题讨论】:

  • 另外,为什么这个项目看起来如此死气沉沉?这似乎是个好主意(除了显示特定的浏览器错误......:()

标签: javascript unit-testing cross-browser js-test-driver


【解决方案1】:

它在我的工作,你使用版本 1.2,here

我知道他们在早期版本中不支持它,并且可能主干不稳定(即使它看起来有一段时间没有被修改过)

【讨论】:

  • 无论如何,将它从后备箱中复制出来似乎有点愚蠢......我只是按照我阅读的说明进行操作。
  • 是的,这就是问题所在。他们需要使该文档保持最新。嗯,我想知道我能做到吗?
  • 好像wiki上有很多cmets没有回复。我想谷歌员工在内部做了一些工作,然后立即将其全部推回,而没有真正检查那里有什么。
【解决方案2】:

一方面:我认为你在jstestdriver.console.log 之后,它实际上会返回到 shell。

其次,您从 setUp 和测试方法创建相同的 DOM。尝试删除其中之一。

无论如何,逐字复制示例对我有用,我使用的是 1.2。您第一次尝试使用哪个版本?您在哪个浏览器中运行?

另外:该项目还没有结束,请查看邮件列表。不是最活跃的项目,但它正在发展。

【讨论】:

    【解决方案3】:

    回复:日志记录,请参阅docs text about grabbing the window.console output。真是太棒了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-30
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 2010-11-30
      相关资源
      最近更新 更多