Angular 4 单元测试 OKTA SignIn 未定义错误

Angular 4 unit testing OKTA SignIn not defined error

我正在尝试在 Angular 中编写单元测试 4. 在我们的应用程序中使用了 OKTA 登录。如何模拟 OKTA 登录?我收到错误 OktaSignIn not defined

我们在 index.html 中使用 okta-sign-in.min.js。 OktaSignIn 对象在服务中声明如下:

declare let OktaSignIn: any;

该对象正在服务的构造函数中使用。测试期间此对象不可用。

解决方法: 如本 link - https://developer.okta.com/blog/2017/03/27/angular-okta-sign-in-widget 中所述,而不是在 index.html 中包含安装包并使用它。 post 中未提及的我遇到的一个问题是覆盖 Zone.js 的全局承诺对象。要修复这个 okta-sign-in-widget 应该在加载之前包含 zone.js