объекта чтобы понимать состояние объекта в тесте ?
Да, плохая. Но я так делал, чтобы не писать геттеры)
Внешние геттеры все равно же раскроют реализацию, так что никакой разницы не вижу
Что значит внешние?
если у этих геттеров есть смысл (кроме получения значения приватных полей), то они скрывают реализацию
Обычный геттер для класса, покажет что внутри храниться обычный массив. И потом все тесты будет завязаны на этой структуре
ты можешь поменять внутреннюю реализацию на что угодно. и если геттер всё ещё возвращает массив, то всё ок — ты завязался на интерфейс
Создавать геттер онли для теста?
https://t.me/ts_cool/136338
Кстати, это ещё одна причина, по которой я не люблю классы в TS. С замыканиями не получится "обмануть" в тестах.
Да, это плохо. Но как всё же проверить, что стейт изменился правильно?
не мутировать) только immutable объекты
Как это решит проблему? Нам всё равно нужно проверить стейт. Как вариант - не закрывать стейт. Сделать его открытым иммутабельным. И отдельно будут ф-ции по его меппингу с одного состояния в другое.
Обсуждают сегодня