我如何使用QUnit(或其他js单元测试框架)对发布/订阅进行单元测试

问题描述 投票:1回答:2

[就像标题说的那样,我想对我的JavaScript进行单元测试,如何隔离$ .publish()和$ .subscribe()调用?我现在正在使用QUnit,但只有几个测试,因此如果需要,我愿意更改框架。

javascript unit-testing asynchronous publish-subscribe qunit
2个回答
1
投票

只需使用http://sinonjs.org/

欢呼声


0
投票

您可以使用以下代码:

test( "Should call a subscriber with standard matching": function () {
    var spy = sinon.spy();

    PubSub.subscribe( "message", spy );
    PubSub.publishSync( "message", { id: 45 } );

    assertTrue( spy.calledWith( { id: 45 } ) );
});

这是使用SinonJs。请遵循https://addyosmani.com/blog/unit-testing-backbone-js-apps-with-qunit-and-sinonjs/了解更多此类示例。

© www.soinside.com 2019 - 2024. All rights reserved.