java中的接口是类吗
309
2022-08-28
Pytest(1)安装与入门(pytest用法)
pytest介绍
pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点:
非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考能够支持简单的单元测试和复杂的功能测试支持参数化执行测试过程中可以将某些测试跳过(skip),或者对某些预期失败的case标记成失败支持重复执行(rerun)失败的 case支持运行由 nose, unittest 编写的测试 case可生成 html 报告方便的和持续集成工具 jenkins 集成可支持执行部分用例具有很多第三方插件,并且可以自定义扩展
安装pytest
一般接触一个新的框架,个人推荐使用virtualenvwrapper这个虚拟环境,使得环境独立有关virtualenvwrapper的安装与使用后续再出文章,这里可自行百度
终端运行
(pytest_env) ➜ ~ pip3 install pytest
查看版本
(pytest_env) ➜ ~ pytest --version
快速开始
# test_sample.py 的内容 def func(x): return x + 1def test_answer(): assert func(3) == 5class TestClass(object): def test_one(self): x = "this" assert 'h' in x def test_two(self): x = "hello" assert hasattr(x, 'check')
然后进入当前目录,执行命令pytest
> pytest============================================= test session starts =============================================platform darwin -- Python 3.7.6, pytest-6.2.1, py-1.10.0, pluggy-0.13.0rootdir: /Users/jkc/PycharmProjects/pytestDocplugins: allure-pytest-2.8.6collected 3 items test_example.py F.F [100%]================================================== FAILURES ===================================================_________________________________________________ test_answer _________________________________________________ def test_answer():> assert func(3) == 5E assert 4 == 5E + where 4 = func(3)test_example.py:16: AssertionError_____________________________________________ TestClass.test_two ______________________________________________self =
知识点
如果只执行 pytest ,会查找当前目录及其子目录下以test__*.py或*_test.py文件,找到文件后,在文件中找到以test开头函数或者Test开头的类并执行(当然,后续也可以自定义规则)如果只想执行某个文件,可以pytest start.py加上-q,就是显示简单的结果:pytest -q start.py
Pytest用例的设计原则
用Pytest写用例时候,一定要按照下面的规则去写,否则不符合规则的测试用例是不会执行的
文件名以test_*.py 文件和*_test.py以test_开头的函数以Test开头的类,不能包含__init__方法以 test_ 开头的类里面的方法所有的包 pakege 必项要有__init__.py 文件
去期待陌生,去拥抱惊喜。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~