期望返回值等于$ promise

时间:2018-08-17 14:21:50

标签: javascript angularjs promise karma-jasmine

我有此函数可返回$promise

service.getPromise = () => {
    return myService.myFunction().$promise
};

在我的测试代码中,以下使用了业力和茉莉花。

it('should return a $promise', function () {
    expect(service.getPromise()).toEqual(???);
});

如您所见,我不确定要匹配什么或如何创建$promise,以便我可以测试返回的实际上是否是$promise

1 个答案:

答案 0 :(得分:1)

您可以

expect(service.getPromise() instanceof Promise).toBe(true);

编辑:或者如果您使用的是$q承诺,

expect(service.getPromise() instanceof $q).toBe(true);

您所关心的只是它是否返回类型为promise的值。或者,您可以检查返回的对象是否具有所需的成员(例如then

我希望您通常会对诺言解决后会发生的事情更感兴趣。