Jest, объект тестирования содержит правильный тип функции - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть этот метод:

export function getTableConfig(priceEntity: any) {
  const columns: any = { columns: [] };
  const keys: Array<string> = Object.keys(priceEntity);
  keys.forEach((key: string) => {
    columns.columns.push({
      key: key,
      label: key,
      values: (obj: any) => ({ value: obj[key] })
    });
  });

  return columns;
}

Я пытаюсь проверить возврат с помощью Jest. Я написал что-то вроде этого:

expect(tableConfig).toEqual({
  columns: [
    { key: 'id', label: 'id', values: expect.any(Function) },
  ]
});

Но я хотел бы быть более конкретным c относительно типа функции, что-то вроде

expect(tableConfig).toEqual({
  columns: [
    { key: 'id', label: 'id', values: (obj: any) => ({ value: string }) }
  ]
});

Но я понятия не имею как это сделать. Есть мысли?

1 Ответ

0 голосов
/ 17 февраля 2020

Вы можете попробовать что-то подобное

expect(tableConfig).toEqual({
  columns: [
    { key: 'id', label: 'id', values: (obj: any) => ({ value: string }) }
  ]
});
expect(tableConfig.columns[0].values({id: 'testId'})).toBe('testId');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...