首页 > 解决方案 > Jasmine 的角度测试

问题描述

我正在尝试使用 Jasmine 框架,但 karma 在浏览器中向我发送了一个错误。我认为问题在于我的组件中使用的提供程序。大声说出错误。

标签: angularunit-testingjasmine

解决方案


因此,这解决了您提到的第一个问题:

providers: [ AuthService, ReduxStore ]

我想第二个问题, InjectionToken 的出现是因为您在某处的组件中有这样的东西:

export const SINGLE_SPA_STORE_KEY = new InjectionToken<SomeService>('SINGLE_SPA_STORE_KEY');

这让我想到在你的 app.module 中你可能有这样的东西:

providers: [
  { provide: SINGLE_SPA_STORE_KEY, useExisting: SOME_STORAGE }
]

所以你的测试抱怨它不明白 SINGLE_SPA_STORE_KEY 是什么,所以你需要像这样明确地告诉它:

providers: [
  { provide: SINGLE_SPA_STORE_KEY, useValue: SOME_STORAGE }
]

不过,这一切都取决于可能性,没有经过所有代码,这只是一个猜测。但是,我猜测我已经使用了自己的代码,所以它非常相似。


推荐阅读