Угловой модуль, проверяющий функциональную переменную

#angular #typescript #unit-testing #testing

Вопрос:

Я хочу протестировать функцию переменной функции void. Как я могу получить эту локальную переменную в тесте? функция:

 save(){
const stringTest="test";
}
 

тест:

 test("variable should be equal to "test" ", () => {
    component.save();
    //test stringTest from save function that is equal to "test"
  });
 

Ответ №1:

Во-первых, вы не можете получить доступ к примитивной локальной переменной внутри функции после ее вызова (по крайней мере, обычными способами). Причина может показаться очевидной, но все же стоит отметить, что локальные переменные освобождаются, когда среда выполнения javascript находит их непригодными для использования.

Во-вторых, вы не хотите получать доступ к местным жителям. Объявление локальной переменной-это своего рода утверждение о том, что вы хотите, чтобы эта переменная участвовала в каком-либо внутреннем потоке или алгоритме. В конце концов, не все должно быть открыто внешнему миру. Каждая система в какой-то степени инкапсулирует внутреннее поведение, и функция также является системой (хотя и очень маленькой).

Ваша функция save () не имеет ни входных данных (аргументов), ни выходных данных (возвращаемое значение, побочный эффект), поэтому здесь нечего проверять…

Комментарии:

1. Спасибо! Я оставлю свою функцию непроверенной