如何在Angular 2 Jasmine中测试模型类型

时间:2016-08-16 17:06:45

标签: angular jasmine

我们想测试服务方法的返回类型。让我们说GetItems()返回一个Items数组。

我们无法弄清楚如何测试。如果我们这样做:

expect(service.getNavItems()).toEqual(jasmine.any(Array));

它通过......但是如果我们这样做

expect(service.getNavItems()).toEqual(jasmine.any(Item[]));

必须有一种简单的方法来测试返回类型(不是像Number或Array那样构建的东西)。

感谢。 中号

1 个答案:

答案 0 :(得分:2)

// Model
export class SomeModel {
  constructor(
    public name: string = "") { }
}

// Spec
it('Should return SomeModel[]', () => {
  const items = service.getItems();

  items.forEach(item => {
    expect(item instanceof SomeModel).toBe(true, 'instance of SomeModel');
  });
});