午睡 - 测试依赖

时间:2015-01-06 19:18:52

标签: unit-testing extjs siesta

我在Siesta中为我的ExtJS应用程序提供了几个测试文件。其中一些测试必须在其他测试开始之前运行并通过。有没有办法只在前一个测试通过后执行测试?

1 个答案:

答案 0 :(得分:1)

Siesta中,您可以使用测试来运行两个异步代码,并且可以进行链接和等待。有关详细信息,您可以看到Get Started Guide,但我在此处也提供了一个示例,以便完整。

使用wait,其中一种异步方法:

t.wait('xhrSample');

Ext.Ajax.request({
    url     : 'ajax_demo/sample.json',

    success : function (response, opts) {
        t.is(response, 'foobar', 'Response is correct');

        t.endWait('xhrSample');
    },

    failure : function (response, opts) {
        t.fail("request failed");

        t.endWait('xhrSample');
    }
});

在Siesta中使用chain

t.chain(
    function (next) {
        t.type(userNameField, 'username', next)
    },
    function (next) {
        t.type(passwordField, 'secret', next)
    },
    function (next) {
        t.click(loginButton, next)
    },
    function () {
        // done
    }
});

持续使用waitFor:

this.waitFor(
    // The condition to check for, this line will mean waiting until the presence of #foo element
    function() { return document.getElementById('foo'); },  

    // The callback, after the condition has been fulfilled
    function(el) { /* DO COOL STUFF */ }          
);

如果您还有其他问题,我可能需要更多关于您等待Siesta完成的信息。