我正在使用Angular 6和Jasmine来测试我的代码。
我有一个调用服务进行登录的函数,该服务会返回一个承诺,该承诺将根据登录是否成功而拒绝或解决。
我不希望实际的服务功能运行,所以我一直在尝试模拟它,我想要做的就是返回一个承诺,该承诺将被拒绝,但我不知道语法。我已经搜索了几个小时,但没有任何效果,这种可能性似乎在任何地方都没有涉及。
任何人都可以提供一个示例,说明您如何模拟服务功能以提供将被拒绝的承诺吗?
答案 0 :(得分:2)
通过模拟功能,您可以执行:return Promise.reject(your value)
。
它将创建一个Promise
,在查询时将直接拒绝。
根据您的评论进行编辑:
因此,如果您使用Jasmine工具,则可以使用mockLoginService.login.and.returnValue(Promise.reject())
获得模拟功能并拒绝登录尝试。