如何从作为选择器的函数中获取值?

How to get values from a function that is a selector?

我正在使用一个正在检索一系列汽车的选择器,但是当我尝试测试时我得到:

类型错误:agency.getCars 不是函数

describe('selectCars', () => {
    it('should return car array', () => {
    const stub = jasmine.createSpyObj<AgencyShop>({
      findAgency: {
         brand: 'BRAND_ID',
         name: 'NAME'
         getCars: () => ['Rio', 'Soul', 'Sportage']
      } as Agency
  });
  const result = selectCars.projector(stub, {
      brand: 'BRAND_ID'
  });

   expect(result).toEqual(['Rio', 'Soul', 'Sportage']);
  });

模拟这个函数的正确方法是什么。

我需要使用spy对象,不需要整个状态,我们只需要选择器的类型'Agency'和函数的结果,projector正在处理存根。

describe('selectCars', () => {
  it('should return car array', () => {
     const stub = jasmine.createSpyObj<Agency>({
       getCars: ['Rio', 'Soul', 'Sportage'] as string[]
    });

    const result = selectCars.projector(stub, {
       brand: 'BRAND_ID'
    });

     expect(result).toEqual(['Rio', 'Soul', 'Sportage']);
  });
});