我有一个返回 $promise
的函数。
service.getPromise = () => {
return myService.myFunction().$promise
};
我在测试代码中使用了 karma 和 jasmine,如下。
it('should return a $promise', function () {
expect(service.getPromise()).toEqual(???);
});
如您所见,我不确定要匹配什么或如何创建 $promise
,以便我可以测试返回的内容是否实际上是 $promise
。
最佳答案
你可以这样做
expect(service.getPromise() instanceof Promise).toBe(true);
编辑:或者如果您使用 Angular 的 $q
promise ,
expect(service.getPromise() instanceof $q).toBe(true);
如果你关心的只是它是否返回一个promise类型的值。或者,您可以检查返回的对象是否具有您期望的成员(例如 then
)
我预计,通常您会对 Promise 解决时会发生什么更感兴趣。
关于javascript - 期望返回值等于 $promise,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51897432/