Типы машинного теста - PullRequest
0 голосов
/ 01 ноября 2018

У меня есть следующий экспорт в одном из моих модулей:

export class Action1 implements Action {}

export class Action2 implements Action {}

export type ActionsUnion =
  | Action1
  | Action2;

Я пытаюсь найти лучший способ проверить ActionsUnion, чтобы убедиться, что он относится к определенным мной типам. Например:

it('should have the correct types', () => {
  expect(typeof Action1).toEqual(ActionsUnion);
  expect(typeof Action2).toEqual(ActionsUnion);
});

Конечно, вышеописанное не работает, так как я использую ActionsUnion в качестве переменной. Любые идеи о том, как достичь вышеуказанного?

Для контекста я использую angular, ngrx и jasmine.

1 Ответ

0 голосов
/ 01 ноября 2018

Я не пробовал это с объединением, но вы можете попробовать jasmine.any (Тип). В этом случае ваш код выше будет:

it('should have the correct types', () => {
  expect(Action1).toEqual(jasmine.any(ActionsUnion));
  expect(Action2).toEqual(jasmine.any(ActionsUnion));
});

Подробности здесь: https://jasmine.github.io/2.0/introduction.html#section-Matching_Anything_with_%3Ccode%3Ejasmine.any%3C/code%3E

...