Тестовые свойства TypeScript объекта, созданного в методе компонента

Я хотел бы протестировать компонентный метод. Я хотел бы проверить объект, созданный в этом методе, когда он передается другому методу.

У меня есть компонент с описанным методом:

submit() {

    const goal= new Goal();
    if (component.property == true){
        goal.myProperty ='reached';
    } else { 
        goal.myProperty =' not reached';

    create(goal);
}

Я хотел бы проверить свойство target.myProperty, поскольку оно передается методу create().

ваш вопрос не ясен. Пожалуйста, опишите больше

Kajol Chaudhary 11.02.2019 13:06
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
0
1
41
2

Ответы 2

Чтобы добиться этого, вам придется следить за своим методом и видеть аргументы, используемые для вызова. Вам нужно будет проверить свойства аргумента.

Вот пример:

it('should XXX', () => {
  const spy = spyOn(YourImportThatContainsCreate, 'create');
  component.submit();
  epxect(spy.calls.argsFor(0)[1].myProperty).toEqual('reached');
});

Попробуйте этот код:

it('should submit', () => {
  spyOn(component, 'create');
  component.submit();
  expect(component.create).toHaveBeenCalledWith(jasmine.objectContaining(myProperty : 'reached'));
})

Извините, сам не пробовал.

Другие вопросы по теме