将参数传递给qunit teardown?

时间:2013-06-21 13:24:55

标签: jquery unit-testing qunit

我想在我作为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' });
});

1 个答案:

答案 0 :(得分:2)

制作cb变量global。然后在close()回调中调用teardown。 此question应包含您需要的所有QUnit回调。