在异步超时时传递Jasmine规范

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在异步超时时传递Jasmine规范相关的知识,希望对你有一定的参考价值。

运行Jasmine 2.8。

我有一个测试用例,其中失败案例是一个事件处理程序在不应该的情况下被触发。请注意,此处提供事件的代码库是专有的,内部开发的系统的一部分,因此这些不是DOM事件,我没有利用任何流行的JS框架:

    it('should trigger the event handler in state 0', function (done) {
        function specCb(ev) {
            expect(ev).toBeDefined();
            expect(ev.data).toBe('some value');
            done();
        }
        thing.state = 0;
        simulateEventTrigger(thing, specCb);
    });

    it('should not trigger the event handler in state 1', function (done) {
        function specCb(ev) {
            done.fail('this should not be called in state 1');
        }
        thing.state = 1;
        simulateEventTrigger(thing, specCb);
    });

第二个规范将始终失败,因为要么调用回调,明确地使规范失败,要么等待done()被调用的规则超时,从而使它失败。如果超时,我如何让Jasmine通过规范?

以上是关于在异步超时时传递Jasmine规范的主要内容,如果未能解决你的问题,请参考以下文章

Angular Bootstrap 警报不会在超时时关闭

会话超时时如何自动刷新

Android 我应该在异步任务中将片段作为弱引用传递吗?

如何在Go代码超时时杀死进程及其子进程?

在ES批量插入数据超时时自动重试

Jasmine +异步功能