【问题标题】:Jasmine Global Variable initializationJasmine 全局变量初始化
【发布时间】:2019-01-24 08:04:48
【问题描述】:

我正在使用 jasmine 编写 Angular 组件单元测试。 我们有静态变量的类,这些变量在应用程序加载时初始化。 目前我们正在使用这些变量的组件的单元测试的 beforeAll 中初始化这些静态变量。

在所有单元测试文件中调用相同的初始化函数似乎是多余的。

有什么方法可以在 jasmine 单元测试开始时全局初始化这些静态变量,所有单元测试套件都可以使用这些变量吗?

目前我们正在像这样初始化这些静态变量:

describe(('mycomponent'), () => {
  beforeAll(()=>{
   // call to initialize function
  });
});

【问题讨论】:

    标签: angular unit-testing jasmine angular-unit-test


    【解决方案1】:

    在我看来,你应该用服务封装全局变量,并在你的组件中使用这个包装服务。通过这种方式,您可以轻松地模拟这个包装服务。

    例如:

    class GlobalVariableService {
      public getXxx() {
        return window.Xxx;
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-12
      • 2015-07-18
      相关资源
      最近更新 更多