Модульное тестирование для вложенного набора интервалов внутри метода класса - PullRequest
0 голосов
/ 14 сентября 2018

Вот фрагмент кода, у меня возникают проблемы при попытке получить полное покрытие для этого classMethod () с Jasmine. Я пытался использовать Jasmine.clock (). Tick () и просто тестировал изменения в переменной A, но я получаю неопределенный результат при тестировании toBeDefined () или .not.toBeDefined

class A() {
       let variableA;
       classMethod(){
         VariableB;
         const func2 = () => {
          // Do something to Variable A
          VariableA = changed_data
          clearInterval(VariableB)
         }
        VariableB = setInterval(func2, 100);
       }
     }

Юнит-тестирование пока что

// obj является экземпляром класса

it('the variable should change within the class method', () => {
  spyOn(obj, 'classMethod').and.callThrough();
  expect(obj.VariableA).toBe(undefined); // (this works by itself) tried toBeUndefined() here
  obj.classMethod();
  jasmine.clock().tick(101);
  expect(obj.VariableA).not.toBe(undefined); // tried toBeDefined() as well
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...