Angular Модульное тестирование: ожидайте, что неопределенное значение равно true - PullRequest
0 голосов
/ 16 апреля 2020

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

isInputHidden = true;

showInput(){this.isInputHidden = false;}

spe c .ts:

it('should show the input', () => {
component.isInputHidden == false;
let showInput = component.showInput();
expect(showInput).toBe(true);

})

Когда я запускаю этот тест, я получаю следующие ошибки: В jasmine ==> Ожидайте, что undefined равно true. В Терминале ==> Аргумент типа «true» не может быть назначен параметру типа «Ожидаемый». Кто-то может помочь мне понять, что я должен изменить?

1 Ответ

1 голос
/ 16 апреля 2020

Вот как исправить ваш тест:

  • инициализируйте вашу переменную с =, а не ==
  • , вызывайте напрямую функцию (вы не можете инициализировать showInput переменная с ним в любом случае, так как функция ничего не возвращает)
  • ожидаемая переменная для тестирования - InputHidden напрямую, поскольку вы изменили ее значение с помощью функции showInput()
it('should show the input', () => {
component.isInputHidden = false; // removed a "="
component.showInput(); // your function will change isInputHidden directly
expect(component.isInputHidden).toBe(true); // test isInputHidden
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...