Как напишу жасмин, чтобы покрыть мою функцию?Я получаю сообщение об ошибке "Метод конфигурации не существует" - PullRequest
1 голос
/ 07 июня 2019

Получение ошибки в моей функции, которую я пытаюсь скрыть в Жасмин "Error is config method does not exist" И настройте метод, который я пытаюсь охватить.

Я ожидаю охватить правильный сценарий тестового сценария для моего метода конфигурации.

const config = () => {
    return ({
      name: 'modal.name',
      class: 'modal.class',
      choice: 'modal.choice'
    });
  }

describe('Config', () => {
  it('config is defined', () => {
    let data = {
      name: 'modal.name',
      class: 'modal.class',
      choice: 'modal.choice'
    };
    Object.assign(config, data);
    spyOn(data, 'config').and.returnValue(Promise.resolve(data));
  });
});

1 Ответ

0 голосов
/ 07 июня 2019

Вы получаете эту ошибку, потому что пытаетесь шпионить метод config в вашем data объекте с помощью оператора:

spyOn(data, 'config').and.returnValue(Promise.resolve(data));

У объекта data нет метода config, поэтому при вызове spyOn эта ошибка выдается.

Ваш it говорит, что вы пытаетесь проверить, что config определено, но вы делаете действительно странные вещи в своем тесте. Если вы хотите проверить, что config определено, вы можете сделать:

it('config is defined', () => {
    expect(config).toBeDefined();
});

Более сложным тестом будет проверка того, что метод, помимо существующих, возвращает требуемые данные:

it('config returns the configuration', () => {
    expect(config()).toEqual({
        name: 'modal.name',
        class: 'modal.class',
        choice: 'modal.choice'
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...