角度7:如何模拟返回可观察值的函数

时间:2019-02-07 11:05:31

标签: jestjs angular7

我有一个angular 7应用程序。 我无法使用笑话来编写测试用例。

我的代码是:

describe('GroupService', () => {
  const allGroups = ['a', 'b', 'c'];

  beforeEach(() => {
    const groupDataService = jasmine.createSpyObj('GroupDataService', ['getGroups']);
    const getGroupsSpy = groupDataService.getGroups.and.returnValue(of(allGroups));

    TestBed.configureTestingModule({
      imports: [
        TranslateModule.forRoot(),
        HttpClientModule
      ],
      providers: [
        {provide: GroupDataService, useValue: groupDataService}
      ]
    });
  });

  describe('getGroupsFromCode ', () => {
    it('should return all the groups', () => {
      const groupService: GroupService = TestBed.get(GroupService);
      groupService.getGroupsFromCode('all').subscribe(result => {
        console.log(result);
        expect(result.sort()).toEqual(allGroups.sort());
      });
    });
  });
});

开玩笑,我不能使用jasmine.createSpyObject。 我需要使用jest.fn({key:jest.fn()})代替,但由于可观察性而无法正常工作。

有人可以帮我吗? 问候。

0 个答案:

没有答案