拳不離手曲不離口,每日操練不可少!
成都創(chuàng)新互聯(lián)公司專注于文安網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供文安營銷型網(wǎng)站建設(shè),文安網(wǎng)站制作、文安網(wǎng)頁設(shè)計、文安網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造文安網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供文安網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。今天的練習(xí)題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
代碼寫完了,自測的工作還是不可少的,想嘗試著用工具或者框架完成這項工作。
代碼:https://github.com/wanglanqing/Python_Project/tree/master/dayByDay/day4
一、安裝
使用pip工具安裝非常方便,執(zhí)行pip install pytest即可。
二、編寫測試用例
1.用例規(guī)則
以test_開頭或以_test結(jié)尾的測試文件;
以Test開頭的測試類;
以test_開頭的測試方法;
測試類中,不能有__init__方法;
2.正常斷言
pytest的斷言使用assert,同unittest框架相比,大大降低了斷言的學(xué)習(xí)成本。
def test_20171231_365(self): self.d4.get_date(2017, 12, 31) days = self.d4.get_days() assert days==365
2.異常斷言
對于無效的數(shù)據(jù),進(jìn)行了異常的處理,最初單純的使用assert時,發(fā)現(xiàn)執(zhí)行該條case時,總會出錯。通過使用with pytest.raises(Exception) as err_info的方式,能夠ExceptionInfo() object,通過object的type、match() 、value等進(jìn)行異常斷言。
def test_day_is_minus(self): 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中描述了with pytest.raise()的使用方法。
>>> value = 15 >>> with raises(ValueError) as exc_info: ... if value > 10: ... raise ValueError("value must be <= 10") ... assert exc_info.type == ValueError # this will not execute
三、執(zhí)行
在pycharm中執(zhí)行,【Run】-【Edit Configurations】,設(shè)置Working directory
配置好之后,即可執(zhí)行。
四、生成測試報告
在命令行執(zhí)行pytest --help,可以查看pytest的用法。
修改設(shè)置,【Run】-【Edit Configurations】,在Additional Arguments處,增加--junit-xml參數(shù)。
運行結(jié)束后,測試報告已保存到本地。