2015-12-15 3 views
0

Я пишу тестовые примеры для широкого списка функций. Они обобщены ниже:выберите kwargs для отправки в функции

def func_a(x, y, z): 
    return x + y + z 

def func_b(x, y): 
    return x + y 

def func_c(w, x, y, z): 
    return w + x + y + z 

Как вы можете видеть, эти функции все использовать подмножество того же списка kwarg (ш, х, у, г). Я хочу избежать написания unittests, которые индивидуально определяют значения аргументов для передачи и обобщения моего решения. Есть ли способ для меня выборочно передать только необходимое подмножество kwargs в каждую функцию для тестирования?

Похоже, общая проблема - и я прошу, прежде чем погрузиться в использование inspect.getargspec().

ПРИМЕЧАНИЕ: Не стесняйтесь предлагать новые названия здесь.

+0

Я не понимаю, что вы делаете, может быть, более конкретный пример поможет. Почему все функции называются одинаковыми? –

+0

oops, что было ошибкой в ​​моем примере. все функции по-разному называются – AZhao

+0

Тем не менее неясно, чего вы действительно хотите достичь, у вас есть реальный пример этих функций? –

ответ

0

Вы можете просто передать итерируемый в функцию.

x = [1,2,3] 
assert(func_a(*x) == sum(x)) 
Смежные вопросы