История изменений
Исправление qaqa, (текущая версия) :
Это что ж получается по твоей логике: строчки кода — зло?
Ептить, коллега, не путайте одно с другим. Если код выглядит так
class Class:
def func(...):
...
class DecoratedClass:
def __init__(obj):
self._obj = obj
def func(arg, ...):
...
result = self._obj.func(arg, ...)
...
return result
obj = Class()
decorated_obj = DecoratedClass(obj)
decorated_obj.func(kwargs)
или вот так
def func(...):
...
def decorated_func(a_func, a_func_kwargs):
...
result = a_func(**a_func_kwargs)
...
return result
result = decorated_func(func, kwargs)
то можно независимо протестировать все куски. Интеграционный тест тоже нужен, но 1 достаточно.
Когда сделано вот так
@a_func_decorator
def func(...):
...
то это гвоздями прибили декоратор к функции, и тестировать функцию теперь сложнее. Надо учитывать, что часть реализации в декораторе.
Исправление qaqa, :
Это что ж получается по твоей логике: строчки кода — зло?
Ептить, коллега, не путайте одно с другим. Если код выглядит так
class Class:
def func(...):
...
class DecoratedClass:
def __init__(obj):
self._obj = obj]
def func(arg, ...):
...
result = self._obj.func(arg, ...)
...
return result
obj = Class()
decorated_obj = DecoratedClass(obj)
decorated_obj.func(kwargs)
или вот так
def func(...):
...
def decorated_func(a_func, a_func_kwargs):
...
result = a_func(**a_func_kwargs)
...
return result
result = decorated_func(func, kwargs)
то можно независимо протестировать все куски. Интеграционный тест тоже нужен, но 1 достаточно.
Когда сделано вот так
@a_func_decorator
def func(...):
...
то это гвоздями прибили декоратор к функции, и тестировать функцию теперь сложнее. Надо учитывать, что часть реализации в декораторе.
Исправление qaqa, :
Это что ж получается по твоей логике: строчки кода — зло?
Ептить, коллега, не путайте одно с другим. Если код выглядит так
class Class:
def func(...):
...
class DecoratedClass:
def __init__(obj):
self._obj = obj]
def func(arg, ...):
...
result = self._obj.func(args, ...)
...
return result
obj = Class()
decorated_obj = DecoratedClass(obj)
decorated_obj.func(kwargs)
или вот так
def func(...):
...
def decorated_func(a_func, a_func_kwargs):
...
result = a_func(**a_func_kwargs)
...
return result
result = decorated_func(func, kwargs)
то можно независимо протестировать все куски. Интеграционный тест тоже нужен, но 1 достаточно.
Когда сделано вот так
@a_func_decorator
def func(...):
...
то это гвоздями прибили декоратор к функции, и тестировать функцию теперь сложнее. Надо учитывать, что часть реализации в декораторе.
Исходная версия qaqa, :
Это что ж получается по твоей логике: строчки кода — зло?
Ептить, коллега, не путайте одно с другим. Если код выглядит так
class Class:
...
class DecoratedClass:
...
obj = Class()
decorated_obj = DecoratedClass(obj)
или вот так
def func(...):
...
def decorated_func(a_func, a_func_kwargs):
...
result = a_func(**a_func_kwargs)
...
return result
то можно независимо протестировать все куски. Интеграционный тест тоже нужен, но 1 достаточно.
Когда сделано вот так
@a_func_decorator
def func(...):
...
то это гвоздями прибили декоратор к функции, и тестировать функцию теперь сложнее. Надо учитывать, что часть реализации в декораторе.