如何从作为选择器的函数中获取值?
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']);
});
});
我正在使用一个正在检索一系列汽车的选择器,但是当我尝试测试时我得到:
类型错误: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']);
});
});