Email or username:

Password:

Forgot your password?
Top-level
vCarabis

@devadideva
Возможно тогда стоит пересмотреть дизайн самой функции и все что влияет на её поведение вынести за её пределы и сделать входными параметрами. Если таких параметров много будет, то я бы задумался о декомпозиции такой функции.
@tech

2 comments
devadideva

@vCarabis@mastodon.social @tech@mastodon.ml В общем то я с Вами согласен (привет тем, кто написал getopt и иже с ним!), но не во всех случаях это возможно: например функция socket(); структура сокета аллоцируется системой, а в ручки попадает только дескриптор. Вы бы как переписали эту системную функцию, а? Отдавали бы структуру сокета пользователю? Это неудачное решение.

vCarabis

@devadideva
Если бы мне надо было проверить правильность заполнения структуры функцией socket(), я бы не писал тест для этой функции совсем :)

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

Эти функции уже можно написать однозначно вычисляющими результат. Главное не сильно увлечься этим делом и не загонять каждую строку кода в отдельную функцию
@tech

@devadideva
Если бы мне надо было проверить правильность заполнения структуры функцией socket(), я бы не писал тест для этой функции совсем :)

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

Go Up