0

我在这里设置了一个简单的 Angular CLI 存储库来演示我的问题,https://github.com/hummorsa/angular-cli-lodash-test/

基本上在这个测试中:

it('should sort Users', async(() => {
 const fixture = TestBed.createComponent(AppComponent);
  fixture.detectChanges();
  fixture.componentInstance.transform();
  expect(fixture.componentInstance.users[0].age).toEqual(34);

}));

运行测试时出现错误,

TypeError:无法读取未定义的属性“sortBy”

这是代码:

public transform (): any {
this.users =  _.sortBy(this.users, 'age');

}

所以基本上 karma 在做测试时没有得到 lodash 的参考。我尝试了其他答案的一些修复,但我无法使其工作。

看起来我需要在某个地方包含参考,不确定在哪里/如何做。

谢谢你的帮助。

4

1 回答 1

0

在继续研究 ant 测试之后,我喜欢这个解决方案,并且在这个 repo 的最后一次提交中:https ://github.com/hummorsa/angular-cli-lodash-test/ ,可以克隆 repo 并运行' ng test' 试试看。

基本上lodash的打字稿文件中的导入需要如下:

import * as _ from 'lodash'

信用:https ://stackoverflow.com/a/45855755/3847132

适合它的原因:仍然未知。

于 2017-11-22T22:41:03.727 回答