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