使用全局变量测试角度4应用程序

使用全局变量测试角度4应用程序

问题描述:

我有一个角度应用程序,它使用由ngOnInit()中的外部.js库设置的全局变量。建设和运行没有任何问题。 当运行测试(与业力)时,我得到错误“myglobal未定义”。使用全局变量测试角度4应用程序

我试图定义变量之前描述(),像这样:

var myglobal = { }; 
describe('AppComponent',() => { 

这不会改变任何东西。我应该如何定义这个变量?

解决这个你需要使用WindowRef组件

import {WindowRef} from './WindowRef'; 

访问window对象和类

constructor(private winRef: WindowRef) { 

console.log('Window object', winRef.nativeWindow['yourGlobalVar']); 
//or winRef.nativeWindow.yourGlobalVar 

}

source here

+0

创建服务解决了问题。它不一定是一个窗口,但(但使用窗口可以帮助,如果有很多全局变量)。我使用了“myglobalService”和“get myglobal()”。我希望我不会让我的代码更重以添加测试... – Damien