JsTestDriver通过以下方式轻松地将元素附加到身体:DOC语法?

时间:2010-01-27 20:31:26

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

我正在使用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示例,以测试它。似乎没有版本号或任何东西。

3 个答案:

答案 0 :(得分:3)

它适用于我的,您使用的是版本1.2,here吗?

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

答案 1 :(得分:2)

一个:我认为你是在jstestdriver.console.log之后,它实际上是回归到shell。

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

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

另外:该项目尚未死亡,请查看邮件列表。不是那里最活跃的项目,但它正在发生变化。

答案 2 :(得分:1)

Re:记录,请参阅docs text about grabbing the window.console output。这很漂亮。