2024-09-30 22:24:41 发布
网友
@lolcat_decorator1 @loldog_decorator2 @lolrat_decorator3 def lolanimal(*args, **kwargs): ....
我确信我会单独对这些装饰器进行单元测试。但是这些修饰符将首先对传递给lolanimal的参数执行操作,然后lolanimal将对这些修改后的参数执行操作(其中一个修饰符可能会向**kwargs插入新的关键字参数)
lolanimal
**kwargs
那么,嘲笑它的最好方法是什么呢?在
谢谢
我的第一个想法是,您应该将decorator视为函数实现的一部分,并对“function”进行单元测试,希望您不需要将依赖项注入到这些decorator中—如果这样做了,那么需要考虑Silas Ray的答案。在
我的第一个想法是创建一个_lolanimal方法,它封装了lolanimal的所有实际功能,然后让lolanimal成为{}的传递包装器。然后您就可以使用您完全控制的数据对_lolanimal运行所有测试。在
_lolanimal
您还可以创建第二个decorator,该decorator位于第一个decorator之前,该decorator将读取配置值,或者用于某种测试模式,如果config值为true,它将覆盖lolspecific装饰器。。。在
lolspecific
我的第一个想法是,您应该将decorator视为函数实现的一部分,并对“function”进行单元测试,希望您不需要将依赖项注入到这些decorator中—如果这样做了,那么需要考虑Silas Ray的答案。在
我的第一个想法是创建一个}的传递包装器。然后您就可以使用您完全控制的数据对
_lolanimal
方法,它封装了lolanimal
的所有实际功能,然后让lolanimal
成为{_lolanimal
运行所有测试。在您还可以创建第二个decorator,该decorator位于第一个decorator之前,该decorator将读取配置值,或者用于某种测试模式,如果config值为true,它将覆盖
lolspecific
装饰器。。。在相关问题 更多 >
编程相关推荐