茉莉花角测试

时间:2018-11-21 14:02:59

标签: angular unit-testing jasmine

我正在尝试使用Jasmine框架,但因果报应在浏览器中向我发送错误。我认为问题是在组件中使用的提供程序。出现错误。

1 个答案:

答案 0 :(得分:1)

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

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 }
]

尽管这一切都取决于可能性,但没有遍历所有代码,这只是一个猜测。但是,我猜想我已经完成了自己的代码,所以非常相似。