-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pytest和单元测试 #2
Comments
pytest 查找规则:如果不带参数运行pytest,那么查找从testpaths(如果有)或者当前目录开始查找,否者,命令行参数就用于目录、文件查找。
|
pytest assert方法通常情况下使用assert语句就能对大多数测试进行断言。 对于自定义类型的assert比较断言,使用pytest_assertrepr_compare注册比较断言函数 |
pytest fixturespytest fixtures提供传统xUnit单元测试中setUp/tearDown的功能,但是比setUp/tearDown更强大(pytest也支持xUnit单元测试)。
fixtures作为参数
test_ehlo的参数smtp就是一个fixture,通过pytest.fixture装饰器定义。定义和使用fixtures的名字必须一样。这里smtp参数就是smtp fixture的返回值。 模块、类、会话级共享fixture在pytest.fixture装饰器中添加参数scope能改变fixture的生存范围,如果scope='module',那么fixture就是模块级的,这个fixture函数只会在每次相同模块加载的时候执行。这样就可以复用一些需要时间进行创建的对象。 根据pytest的规则,会在conftest.py文件中查找fixture,这样我们就可以把所有的fixtures放到一个文件中。 Fixtures执行tearDown代码
与测试互操作
fixture有一个参数request,这个例子通过request取得了模块中的smtpserver变量,还可以通过request取得function, class or module context 参数化fixturesrequest不仅能获取测试中的量,还可以为通过request参数话fixtures
本例会创建两个smtp fixtures,它们的不同处在于request.param。每个使用smtp fixture的测试函数都会执行两次,对应不同的param。 通过fixtures对测试进行分组Autouse fixtures (xUnit setup on steroids) |
参数化fixtures和测试函数pytest支持fixtures和测试函数的参数化
|
No description provided.
The text was updated successfully, but these errors were encountered: