Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
mockdateええやん
Search
U76NER
January 14, 2022
Programming
0
310
mockdateええやん
WASD Inc. LT会(仮)
2022-01-14
U76NER
January 14, 2022
Tweet
Share
More Decks by U76NER
See All by U76NER
JSのクラスの後ろ向きな話
u76ner
0
130
GASええやん
u76ner
1
89
競プロへの誘 -いざな-
u76ner
0
930
Other Decks in Programming
See All in Programming
生成AIを利用するだけでなく、投資できる組織へ
pospome
1
250
エディターってAIで操作できるんだぜ
kis9a
0
710
STYLE
koic
0
160
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
260
AWS CDKの推しポイントN選
akihisaikeda
1
240
CSC509 Lecture 14
javiergs
PRO
0
220
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
1
570
Cell-Based Architecture
larchanjo
0
110
チームをチームにするEM
hitode909
0
300
AIコーディングエージェント(Gemini)
kondai24
0
200
MAP, Jigsaw, Code Golf 振り返り会 by 関東Kaggler会|Jigsaw 15th Solution
hasibirok0
0
230
React Native New Architecture 移行実践報告
taminif
1
150
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Mobile First: as difficult as doing things right
swwweet
225
10k
A Tale of Four Properties
chriscoyier
162
23k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Designing Experiences People Love
moore
143
24k
Become a Pro
speakerdeck
PRO
31
5.7k
Documentation Writing (for coders)
carmenintech
76
5.2k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
Done Done
chrislema
186
16k
Bash Introduction
62gerente
615
210k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.4k
Automating Front-end Workflow
addyosmani
1371
200k
Transcript
mockdateええやん LT会(仮) 2022/01/14 u76ner
時刻を使った関数 2 - 時刻を使った関数を書くことはよくある - 例)現在時刻が2022/1/14より早い日付かどうかを返す関数
テストどうすんねん問題 3 - テストを実行する時刻によって結果が変わってしまう - テストが書けない ?????????????
今までどうしてたか 4 - 現在時刻を引数に渡すことでテストを書いてた - デフォルト値で現在時刻を書いておけば使う分には意識しなくて良い
だけども 5 - まず使うことはない引数を書いておくのはよくなさそう - 意図しない使い方をされる
- 引数増やすときの順番を間違える 無理やり引数渡されて…シテ...状態になった関数くん 順序逆だよ
だけども 6 - まず使うことはない引数を書いておくのはよくなさそう - 別の関数で使うときに引数を渡し忘れる こうなると人間が頑張ってミスを見つけるしかない
mockdate 7 - mockdate - https://www.npmjs.com/package/mockdate - テストを実行するときの時刻を固定できるライブラリ
- 中の実装もシンプルで面白い - よいところ - dayjsとかを使っててもok - dayjsも結局中身はDateなので - 使い方が超楽
mockdate 8 - 使い方は超楽 - 使う前にset() - 使った後にreset() -
これだけ
こんな感じでどうでしょう 9 - 時刻ごとにdescribeでまとめると書きやすいかも?
10