如何使用 QUnit(或另一个 js 单元测试框架)对 pub/sub 进行单元测试

发布于 2024-11-04 10:30:22 字数 115 浏览 4 评论 0原文

就像标题所说,我想将我的 javascript 进行单元测试,如何隔离我的 $.publish() 和 $.subscribe() 调用?我现在正在使用 QUnit,但只进行了一些测试,因此如果需要,我愿意更改框架。

Like the title says, I'd like to put my javascript under unit test, how can I isolate my $.publish() and $.subscribe() calls? I'm using QUnit right now, but only have a few tests, so I'd be willing to change frameworks if required.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

冰雪梦之恋 2024-11-11 10:30:23

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

干杯

Just use http://sinonjs.org/

Cheers

脸赞 2024-11-11 10:30:23

您可以使用下面的代码:

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/ 了解更多此类示例。

You can use below code:

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 } ) );
});

This is using SinonJs. Follow https://addyosmani.com/blog/unit-testing-backbone-js-apps-with-qunit-and-sinonjs/ for more such example.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文