Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
mockdateええやん
U76NER
January 14, 2022
Programming
0
110
mockdateええやん
WASD Inc. LT会(仮)
2022-01-14
U76NER
January 14, 2022
Tweet
Share
More Decks by U76NER
See All by U76NER
JSのクラスの後ろ向きな話
u76ner
0
38
GASええやん
u76ner
1
44
競プロへの誘 -いざな-
u76ner
0
580
Other Decks in Programming
See All in Programming
AWSとCPUのムフフな関係
cmdemura
0
430
「自律型開発組織」を目指すCTOの、試行錯誤の記録
ar_tama
1
200
%q is for Quine
koic
0
390
Ruby Pattern Matching
bkuhlmann
0
600
Cloudflare WorkersでGoを動かすライブラリを作っている話
syumai
1
270
Hono v3 - Do Everything, Run Anywhere, But Small, And Faster
yusukebe
4
120
Above All, Make It Fun! #fjordbootcamp / make it fun
kakutani
6
540
Amazon QuickSightのアップデート -re:Invent 2022の復習&2022年ハイライト-
shogo452
0
200
jq at the Shortcuts
cockscomb
1
380
Git Rebase
bkuhlmann
10
1.2k
Cloudflare Workersと状態管理
chimame
2
430
Milestoner
bkuhlmann
1
240
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
318
19k
Building Adaptive Systems
keathley
27
1.3k
A Modern Web Designer's Workflow
chriscoyier
690
180k
The Pragmatic Product Professional
lauravandoore
21
3.4k
Designing with Data
zakiwarfel
91
4.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
182
15k
Embracing the Ebb and Flow
colly
75
3.6k
Atom: Resistance is Futile
akmur
256
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
270
12k
Designing for Performance
lara
601
65k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
Done Done
chrislema
178
14k
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