Daniel
а вот что тестируете вы - я пока не понял
Vladislav
Daniel
Daniel
Илья
то есть - у вас есть нетривиальный код (тривиальный тестирования не требует), и есть представления о том, как он должен работать, недокументированные, и вы на их основании написали тесты, и веруете, что это поможет в поиске ошибок?
я ничего не упустил?
если есть спека, касающаяся внутренней реализации, что мешает ее тестировать? публичный интерфейс может быть очень высокоуровневым, тест сьют не удобно собирать, и вполне можно протестировать все во внутренней реализации
Vladislav
при чем тут тесты?
Ну при том, что если вы вынесли что-то в независимый кусок кода, значит, то ожидаете от этого куска какого то поведения.
Daniel
Daniel
свои ожидания?
Daniel
Daniel
Pawel
потому, что тесты - это не дока
пусть будет не дока. Но даёт достаточно представления о коде чтобы его сопровождать и читать. Пойнт в том, что (иногда) нет мне смысла делать нетривиальный код отдельным пакетом и писать на него документацию, поскольку не будет он повторно использоваться. Но какие-то гарантии что он работает - таки хочется иметь
Daniel
смотрите
Daniel
самые серьезные ошибки - это неправильно понятая спека
Daniel
именно с тестирования кода на соответствие спеке и надо начинать
Daniel
где заканчивать - ваше дело
Pawel
Daniel
но обычно заканчивать надо там, где достигнут минимально приемлемый результат
Daniel
а это ровно там, где закончилась спека
Vladislav
для других тестов у вас нет оснований
Отлично. Вашей команде пришло задание на целую систему. Мобильное приложение и бэкенд. По факту у вас есть утвержденный дизайн в спеке и логика. Что тестируем?
Daniel
с этого места мы не то, что тестировать - мы разрабатывать не можем начать
Vladislav
Можете.
Vladislav
Заказчику все равно какое api у вас там.
Daniel
сейчас архитектор разрисует нам структуру и напишет спеки на интерфейсы - и можно будет начинать. тесты на соответствие интерфейсам мы напишем на основании этих спек
Daniel
при чем тут заказчик вообще?
Vladislav
Daniel
более того - это я сам
Daniel
и что?
Vladislav
Вы и архитектор и программист. Вы разрисовываете интерфейс и тестируете его?
Daniel
и что?
Vladislav
Что вы тестируете? свои ожидания от того что вы напроектировали?
Daniel
документированные ожидания
Vladislav
Эта документация живет только среди вашей команды.
Daniel
и что?
Vladislav
Я также могу задокуметировать внутреннее устройства пакета. Мало того это и нужно делать.
Daniel
зачем?!
Vladislav
Просто когда я пишу пакет я и архитектор его и реализатор.
Vladislav
зачем?!
Чтобы когда кто-то в него полез он понимал что происходит.
Daniel
он и так поймет, не беспокойтесь.
Daniel
если уж до деталей реализации доберется
Vladislav
Если там нетривиальный код, то с доками проще.
Daniel
рили?
Daniel
код я все равно прочту, потому, что дока врет все время
Vladislav
Ну то как вы пишете доки это уже ваш опыт.
Vladislav
Или комменты внутри реализации вы тоже не пишете?
Daniel
при чем тут комменты? при чем тут дока на детали реализации? вы помните, о чем разговор?
Daniel
конечно, меньше
Daniel
безусловно
Илья
так почему не стоит писать тесты?
Илья
если есть время и желание
Daniel
стоит, конечно! на все, на что есть спека
Daniel
хотите тест - напишите спеку сначала
Pawel
Daniel
тогда не пишите
Daniel
но и тестов тогда тоже не надо
Илья
т.е. у вас в комманде так, ок
Daniel
потому, что тесты без спеки - это просто способ убить время
Vladislav
Знаете для заказчика все то что вы как архитектор там наваяли тоже детали реализации.
Daniel
у вас заказчик юнит-тесты пишет?
Vladislav
Нет конечно.
Daniel
вы с какой-то простой мыслью спорите
Daniel
для тестирования нужен эталонный вход и эталонный выход
Daniel
они должны быть документированы и каким-то образом проверены
Vladislav
Отлично. Для заказчика эталон это кнопку в приложении и получить сообщение на экране.
Daniel
Daniel
вообще, конечно, я от этого разговора устал
Daniel
опилки
Vladislav
Ибо отношение заказчик комманда отлично отбражается в потребитель библиотеки и разработчик.
Daniel
зачем я опять разговариваю с опилками?
Daniel
Илья
подитожим, по сути вы утверждаете что "но обычно заканчивать надо там, где достигнут минимально приемлемый результат", является абсолютом, почему "обычно" превратилось в "всегда", неясно, насчет тестирования публичного АПИ никто не спорит, но вы продолжаете гнуть свою линию
Daniel
илья, у вас тимлид есть?