1个练习引发的系列学习之pytest(一)

  

,,,,拳不离手曲不离口,每日操练不可少!

,,,,今天的练习题目:输入某年某月某日,判断这一天是这一年的第几天?

,,,,代码写完了,自测的工作还是不可少的,想尝试着用工具或者框架完成这项工作。

,,,,代码:https://github.com/wanglanqing/Python_Project/tree/master/dayByDay/day4


一、安装

使用pip工具安装非常方便,执行pip安装pytest即可。


二、编写测试用例


,,,, 1。用例规则

<李> <李>

以test_开头或以_t结尾的测试文件;

<李>

以测试开头的测试类;

<李>

以test_开头的测试方法;

<李>

测试类中,不能有__init__方法;



,,, 2。正常断言

,,pytest的断言使用断言,同unittest框架相比,大大降低了断言的学习成本。

def  test_20171231_365(自我):   ,,,self.d4.get_date(2017年,12日,31)   ,,,days =, self.d4.get_days ()   ,,,assert 天==365

,,,,

,,, 2。异常断言

,,,,对于无效的数据,进行了异常的处理,最初单纯的使用断言时,发现执行该条时,总会出错。通过使用与pytest.raises(异常)err_info的方式,能够ExceptionInfo()对象,通过对象的类型,匹配(),价值等进行异常断言。

def  test_day_is_minus(自我):   ,,,with  pytest.raises (LowThanZero), as  err_info:   ,,,,,,,self.d4.get_date (2010、2、1)   ,,,,,,,self.d4.get_days ()   ,,,assert  err_info.match(“输入的值小于0 ')


,python提供的API中描述了与pytest.raise()的使用方法。

在祝辞祝辞,value =15   在祝辞祝辞,with 提出了(ValueError), as  exc_info:   …,,,,,if  value 祝辞,10:   …,,,,,,,,,raise  ValueError (“value  must  be  & lt;=, 10”)   …,,,,,assert  exc_info.type ==, ValueError , #,却;能够will  not 执行


三,执行

,,,,在pycharm中执行,【运行】——【编辑配置】,设置工作目录

,,,,  1个练习引发的系列学习之pytest(一)

配置好之后,即可执行。

 1个练习引发的系列学习之pytest(一)


四、生成测试报告

,,,,,,在命令行执行pytest——帮助,可以查看pytest的用法。

 1个练习引发的系列学习之pytest(一)

,,,,修改设置,【运行】——【编辑配置】,在附加参数处,增加,junit-xml参数。

 1个练习引发的系列学习之pytest(一)运行结束后,测试报告已保存到本地。

1个练习引发的系列学习之pytest(一)