1

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

4

2 回答 2

1

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

干杯

于 2011-07-30T20:09:27.403 回答
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/了解更多此类示例。

于 2020-04-19T03:17:16.723 回答