Стоит задача написать unit test и покрыть максимально внутрению библиотеку которую написали предудущие програмисты. Данная библиотека завязана на других внешних библиотека.
Почти каждая функция имеет зависимость от приватных или внешних функций... а задача стоит покрыть почти 90% кода.
Пользуюсь Jasmine, Karma, Istanbul.
Если начинаю делать mock или spy функции, либо тест не покрывает ту линию, либо происходит closure и функция замыкает то значение и мок игнорируется....(
Буду благодарен комментам и идеям у кого был опыт в написание кода для своих внутренних библиотек.
function internalFoo1(input) {
var result = internalFoo2(input*2);
var finalResult = externalLibraryBar1(result);
return result;
};
function internalFoo2(value) {
var operation = externalLibraryBar2(value*2);
var response = externalLibraryBar3(operation);
return response;
}
Например как написать юнит-тест для функции InternalFoo1, чтобы также покрыть тестом InternalFoo2.
Знаю что юнит-тесты не для этого предназначены и в идеале хорошо когда каждая функция выполняет свою задачу без какой либо зависимости или получает их явно через аргументы и тд...
Нам юнит тесты нужны для того чтобы при continous integration тесты покрывали хотябы 80% кода...