我有一个单元测试,用于验证应用程序的APP_ID是固定值。问题是,我不知道如何设置APP_ID,以便它不是随机生成的。
Angular2团队网站上的文档非常有用,但我不确定我是否正确解释它:
如果您需要避免将随机生成的值用作应用程序ID,您可以通过使用此令牌配置根注入者的DI提供商提供自定义值。
这是否意味着我会在应用程序的引导程序中将其添加为提供程序?
bootstrap(App, [
provide(APP_ID, {name: 'MyApp'})
]);
我怀疑这是远近的。有没有其他人想出如何设置APP_ID或它甚至用于什么?
injector.spec.ts
import {
it,
inject,
injectAsync,
beforeEachProviders,
TestComponentBuilder
} from 'angular2/testing';
import {APP_ID} from 'angular2/core';
describe('default test injector', () => {
it('should provide default id', inject([APP_ID], (id) => {
expect(id).toBe('MyApp');
}));
});
答案 0 :(得分:3)
在测试中
describe('default test injector', () => {
beforeEachProviders(() => [provide(APP_ID, {useValue: 'MyApp'})]);
it('should provide default id', inject([APP_ID], (id) => {
expect(id).toBe('MyApp');
}));
});
对于您的真实应用程序,您可以这样写
bootstrap(App, [
provide(APP_ID, {useValue: 'MyApp'})
]);