有没有办法在DalekJS中进行嵌套测试?

时间:2014-08-19 18:28:37

标签: javascript dalekjs

我希望能够尽可能地将我的测试保持为DRY,并且在与Dalek一起导航时我会做很多冗余的事情。

有没有办法在另一个测试中执行测试,更具体地说,是否让测试从前一个测试开始?

例如:

test
   .runTestWithName("login") // opens url, fills out form, clicks submit
   .assert.exists("#create-new-todo-button")
   .done();

我已经修改了一些东西,但它有意想不到的结果。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您可以将重复的代码保存在单独的文件中,我们将其称为helper.js:

module.exports = {
    "login": function(test) {
        test.open(some_url)
            .assert.exists("some_selector", "verify that some_selector exists")
    }
};

然后在你的主文件上,我们称之为index.js,你可以要求该模块:

var helper = require("./helper") // path is realtive, this is assuming that both files are in the same folder

module.exports = {
    "my main test": function(test) {
        helper.login(test);
        ** some more tests **
        .done();
    }
}

同时检查这个url,它有一些例子: https://github.com/asciidisco/jsdays-workshop/tree/8-dry/test/dalek