做財務的需求以來,會對date字段做校驗,我總結下自己的方式;【略微有點大題小作了】
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