Может видеть переменную, определенную внутри метода из модульного теста - PullRequest
1 голос
/ 12 апреля 2019

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

spec.ts

let spyDate = spyOn(component, "setDateFilter");
component.setDateFilter('2019', '2', '13', '2019', '3', '11');
expect(spyDate).toHaveBeenCalled();//passes
expect(component.filter.from).toBeDefined();//passes,but
console.log(component.filter.from);// is just ' ',I expect 2019-03-11T23:00:00.000Z
filter={
from:'',
to:''
}

.тс

setDateFilter(yearX, monthX, dayX, yearY, monthY, dayY) {
  console.log(monthX + '  ' + monthY);
  //+''+ monthX+'' +dayX+''+ yearY+''+monthY+''+dayY );
  this.filter.from = (new Date(yearX, monthX, dayX, 0, 0, 0)).toISOString();
  this.filter.to = (new Date(yearY, monthY, dayY, 23, 59, 59)).toISOString();
}

1 Ответ

1 голос
/ 12 апреля 2019

Вам необходимо использовать andCallThrough () после вызова spyOn (). Таким образом, шпион будет передавать любые вызовы ему до исходной функции.

let spyDate=spyOn(component,"setDateFilter").andCallThrough();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...