如何在函数内测试函数?

Tyl*_*ler 4 python unit-testing python-3.x

如果我有这样的功能:

def any_function(type_name, field_name):
    def another_function(name):
        ...
Run Code Online (Sandbox Code Playgroud)

我将如何进行测试any_function

如果我使用错误的测试定义,我的意思是写作 print(any_function(...))

Mar*_*ers 8

你不会测试内部函数.你只需要测试外部函数的功能; 内部函数是实现细节,而不是单元提供的API.您通常使用内部函数来生成闭包,使内部函数依赖于作用域.

现在,如果内部函数由外部返回,则测试返回值,就像你将任何函数的产品一样.

如果内部函数独立的并且需要自己的测试,则不应该嵌套它.