angular - Jasmine 全局变量初始化
问题描述
我正在使用 jasmine 编写 Angular 组件单元测试。我们有静态变量的类,这些变量在应用程序加载时初始化。目前,我们正在使用这些变量的组件的单元测试的 beforeAll 中初始化这些静态变量。
在所有单元测试文件中调用相同的初始化函数似乎是多余的。
有什么方法可以在茉莉花单元测试开始期间全局初始化这些静态变量,这些变量可用于所有单元测试套件?
目前我们正在像这样初始化这些静态变量:
describe(('mycomponent'), () => {
beforeAll(()=>{
// call to initialize function
});
});
解决方案
在我看来,你应该用 service 封装全局变量,并在你的组件中使用这个包装器服务。通过这种方式,您可以轻松地模拟此包装服务。
例如:
class GlobalVariableService {
public getXxx() {
return window.Xxx;
}
}
推荐阅读
- blockchain - 如何更新 Corda 网络的状态和合约
- azure-devops - 在 Azure Pipeline 中运行的 Terraform 尝试安装 azcli 提供程序
- kubernetes - 外部服务的 Istio 速率限制
- react-native - 无法获取 react-native 错误的源文件
- javascript - 从 websocket 在浏览器中解码并显示 h264 流
- oauth - Kong + Keycloak + OAuth:jwt-keycloak 还是 oauth2 插件?
- html - 如何使用 html 和 css 在图中将文本居中
- omnet++ - omnet++中无线网络模拟丢包的原因
- python - 如何检测 Python 是否在 Python 开发模式下运行?
- python - Altair 图书馆 | 难以将图表保存为 .png