繁体   English   中英

用于方法参数的Python宏

[英]Python macros for method parameters

我正在对我的代码中包含的一堆方法进行一堆单元测试,并开始意识到,如果我可以做某种可以为我处理所有插入操作的宏,我真的可以将这个代码块压缩下来。

这是我将使用的方法的示例,但是唯一的区别是参数c_unit_case以及c_test_case都基于lib中的方法。

def test_case(filepath):
    tests = parsedfile(filepath)
    for unittests in tests:
         print lib.c_test_case(unittests.params[0])

我正在寻找类似的东西。

GENERIC_CASE(method_name, params, filepath)
     (tests) = parsedfile(filepath)
        for unittests in (tests):
             args += unittests.(params)
             print lib.(method_name)(args)

是否可以在Python中执行此类操作?

尝试这样的事情,看看是否可行:

def test_case(method_name, filepath, *args):
    tests = parsedfile(filepath)
    print (method_name(*args))

通过函数签名中的* args,您可以根据需要输入尽可能多的其他参数。 调用method_name(* args)会将参数展开到参数中。

这应该处理可变数量的参数。

这就是您的样子:

GENERIC_CASE(method_name, filepath, *params)
    (tests) = parsedfile(filepath)
    for unittests in (tests):
         args += unittests.(*params)
         print lib.(method_name)(args)

如果您要寻找的不是我,那不是100%。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM