(Comments)
freezegun は、python のライブラリ。
datetime での現在時刻取得をフックし、「翌日を想定したテスト」などができるようになる。
Django のテストで「翌日」を想定したテストをしたい場合、
今日のログインボーナス()
with freezegun.freeze_time(datetime.timedelta(days=1)):
明日のログインボーナス()
とすると、JSTタイムゾーンで開発している際に9:00 前にテストが失敗するなどの不具合が出る可能性がある。
from django.utils import timezone
今日のログインボーナス()
with freezegun.freeze_time(timezone.now() + datetime.timedelta(days=1)):
明日のログインボーナス()
としても同様。
正しく翌日判定させるには
import datetime
今日のログインボーナス()
with freezegun.freeze_time(datetime.datetime.now() + datetime.timedelta(days=1)):
明日のログインボーナス()
もしくは
import datetime
今日のログインボーナス()
with freezegun.freeze_time(datetime.timedelta(days=1), tz_offset=9):
明日のログインボーナス()
import datetime
from django.utils import timezone
tz = timezone.get_current_timezone()
今日のログインボーナス()
with freezegun.freeze_time(datetime.timedelta(days=1), tz_offset=tz._utcoffset):
明日のログインボーナス()
のようにする必要がある
Share on Twitter Share on Facebookこれまでいろんなグッズを作ってきたけど、今回は「お米」と聞いて買うしかないなと。今夜の夕食はコシヒカリ!箸もセットだし^^ https://t.co/01ucQx9qtw #腰乃展 #マンガ展 https://t.co/4VL2vOe0Og
1 year, 3 months ago
講談社さんとやった全部入り電子書籍セットがギネスブックに登録されたよー https://t.co/rbkd3IYub0
1 year, 3 months ago
Comments