1

我想在作为teardown. 该对象通常为模块中的每个测试创建。在下面的示例代码中,cb.close()必须在调用之前TC.destroy调用。我检查并没有传递给拆卸的参数。寻找一种建议的方法,该方法知道cb在将其拆除之前关闭该测试控件。

module('codebooks events', {
    setup: function () {
        if (typeof TC.init !== 'undefined') {
            TC.init({
                effects: false
            });
        }
    }, teardown: function () {
        if (TC.destroy) TC.destroy();
    }
});

test('search complete', function () {
    expect(1);
    var cb = TC.createControl({
        type: 'cb',
        el: $('#control-target')
    });
    stop();
    cb.on('cb:searchComplete', function () {
        ok(true, 'search completed');
        cb.close();
        start();
    });
    cb.tcTrigger('cb:search', { term: 'abc', book: 'dictionary' });
});

test('status updated', function () {
    expect(1);
    var cb = TC.createControl({
        type: 'cb',
        el: $('#control-target')
    });
    stop();
    cb.on('cb:statusUpdate', function () {
        ok(true, 'status updated');
        cb.close();
        start();
    });
    cb.tcTrigger('cb:search', { term: 'abc', book: 'dictionary' });
});
4

1 回答 1

2

使cb变量global. 然后close()在你的teardown回调中调用它。此问题应包含您需要的所有 QUnit 回调。

于 2013-06-21T13:28:23.573 回答