做财务的需求以来,会对date字段做校验,我总结下自己的方式;【略微有点大题小作了】
个人博客:https://blog.csdn.net/zyooooxie
day in 某月
情景是:某个页面已经固定死了 Date为某个月,我要如何对下面的记录 做date字段的校验呢?
m_first, m_last = self.month_first_last(test_month)
assert zy['date'] in self.date_list(m_first, m_last)
思路为:已知Date为某个月,拿到当月第一天、最后一天,断言 date字段值 在date_list(第一天,最后一天);
月份 in month_range
情景是:已经选定某个时间搜索段month_range,搜出来的结果要如何校验Month字段呢?
st = datetime.datetime.strptime(start_month, '%Y-%m')
en = datetime.datetime.strptime(end_month, '%Y-%m')
assert st <= datetime.datetime.strptime(zy['month'], '%Y-%m') <= en
思路为:把时间搜索段month_range的起始、结束月份、Month字段值转为 datetime格式,对其进行大小比较
day in day_range
情景是:已经选定某个搜索时间段day_range,如何校验字段Date?
st = datetime.datetime.strptime(start_day, '%Y-%m-%d')
en = datetime.datetime.strptime(end_day, '%Y-%m-%d')
date = datetime.datetime.strptime(zy['transactionDate'], '%Y-%m-%d')
assert date <= en
assert date >= st
assert zy['transactionDate'] in self.date_list(start_day, end_day)
思路:把时间搜索段day_range的起始、结束、Date字段值转为 datetime格式,对其进行大小比较; 断言 date字段值在date_list(起始,结束);
之所以分享关于date的校验,其实是我对数据来源有深深不安感;我是真的不想看到生产环境的异常数据,只能尽力去用我的方式来检查;
交流技术 欢迎+ QQ 153132336 zy
个人博客 https://blog.csdn.net/zyooooxie