在Angular 2/4应用程序中包含lodash的正确可测试方法是什么?

时间:2017-07-27 16:46:26

标签: angular dependency-injection automated-tests lodash

我有一个使用lodash的角度4应用程序。在阅读角度4时,通过依赖注入包含大多数所有内容,以使测试更容易。

我是否需要担心将DI用于lodash?如果是这样,我该如何为我的项目设置?

1 个答案:

答案 0 :(得分:0)

是的,您应该使用DI来使代码松散耦合。

在这种情况下,您应该创建一个下划线注射依赖项。创建相同的OpaqueToken会很有用。

<强>公共/ underscore.service.ts

import { OpaqueToken } from '@angular/core'
declare let _: any ; //just typescript to consider _ API is available

export let UNDERSCORE = new OpaqueToken('UNDERSCORE');
export const loadDashProvider = [
   { provide: UNDERSCORE, useClass: _}
];

<强>的AppModule

//imports here

declare let _: any ; //just typescript to consider _ API is available

@NgModule({
   declarations: [...],
   imports: [...],
   providers: [
      //... other dependecies ... ,
      loadDashProvider
   ],
})
export class AppModule {
}

每当您想要访问_ js API时,您可以在类构造函数中使用UNDERSCORE令牌,最终会在其中添加_ API。

相关问题