История изменений
Исправление 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(...):
   ...
то это гвоздями прибили декоратор к функции, и тестировать функцию теперь сложнее. Надо учитывать, что часть реализации в декораторе.