Python 测试框架 py.test 深度解析
1. 测试流程与变量设置
在测试过程中,模块的 setup 和 teardown 方法会在会话开始和结束时执行。之后运行模块级的测试函数,接着执行第一个类的 setup 方法,随后是该类的两个测试。每个测试都会被单独的 setup_method 和 teardown_method 调用包裹。方法执行完毕后,调用类的 teardown 方法。第二个类也遵循相同的顺序,最后调用 teardown_module 方法,且仅调用一次。
常见的 setup 和 teardown 函数用途之一是确保在每个测试方法运行前,某些类或模块变量具有已知值。而 py.test 提供了一种不同的方式,即使用 funcargs(函数参数的缩写)。Funcargs 是预先在测试配置文件中设置的命名变量,这使得我们可以将配置与测试执行分离,并且可以在多个类和模块中使用这些 funcargs。
使用 funcargs 时,只需在测试函数中添加参数,参数名用于在特定命名的函数中查找具体参数。例如,测试 StatsList 类时,可使用以下代码:
from stats import StatsList
def pytest_funcarg__valid_stats(request):
return StatsList([1,2,2,3,3,4])
def test_mean(valid_stats):
assert valid_stats.mean() == 2.5
def test_median(valid_stats):
assert valid_st
超级会员免费看
订阅专栏 解锁全文
698

被折叠的 条评论
为什么被折叠?



