Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Muscle Assert
Search
ayato
December 18, 2016
Programming
0
280
Muscle Assert
ayato
December 18, 2016
Tweet
Share
More Decks by ayato
See All by ayato
マイクロサービス内で動くAPIをF#で書いている
ayato0211
1
980
Clojureという言語が私逹にもたらしたもの
ayato0211
6
3.1k
3年間考え続けてきたWebアプリケーションにおけるテストの話
ayato0211
3
270
Re:REPL-Driven Development
ayato0211
3
1.3k
Meta Template Engine
ayato0211
2
1.1k
超変換! Hiccup data structure!!
ayato0211
2
620
About Integrant
ayato0211
0
570
Clojureを用いたWebアプリケーション開発
ayato0211
2
3.2k
翻訳にまつわるエトセトラ
ayato0211
6
1.2k
Other Decks in Programming
See All in Programming
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
24
21k
[SF Ruby Conf 2025] Rails X
palkan
0
440
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
260
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
140
関数実行の裏側では何が起きているのか?
minop1205
1
560
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
140
sbt 2
xuwei_k
0
190
CSC305 Lecture 17
javiergs
PRO
0
270
CSC509 Lecture 14
javiergs
PRO
0
220
モダンJSフレームワークのビルドプロセス 〜なぜReactは503行、Svelteは12行なのか〜
fuuki12
0
190
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
490
tparseでgo testの出力を見やすくする
utgwkk
1
130
Featured
See All Featured
Balancing Empowerment & Direction
lara
5
780
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
The Invisible Side of Design
smashingmag
302
51k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
690
How GitHub (no longer) Works
holman
316
140k
Designing Experiences People Love
moore
142
24k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Embracing the Ebb and Flow
colly
88
4.9k
Code Reviewing Like a Champion
maltzj
527
40k
Transcript
ےςετΛ ٹ͏͜ͱ͕ग़དྷΔͷ͔ !@BZBUP@Q
$MPKVSJBO͕ ๊͍͑ͯΔ
DMPKVSFUFTUͷGBJMʹཱͨͳ͍
DMPKVSFUFTUͷGBJMʹཱͨͳ͍ マップ同士の比較テスト 述語によるテスト ネストした複雑な構造の比較テスト
DMPKVSFUFTUͷGBJMʹཱͨͳ͍
DMPKVSFUFTUͷGBJMʹཱͨͳ͍ ただ `not` を付けただけ!
ίϨδϟφΠײ GBJMͯ͠ΔΜ͔ͩΒظͷରͳͷͨΓલ $MPKVSFͷςετͰ୯७ͳσʔλߏಉ࢜ͷ ൺֱ͕ଟ͍ Γ͍ͨͷԿॲ͕Ͳ͏ҧ͏ͷ͔ ԿނɺͦΕͰྑ͍ͱࢥͬͨʜ
ࢁͷ$MPKVSJBO͕ ͜ͷʹΜͰ͖ͨ
IVNBOFUFTUPVUQVU
IVNBOFUFTUPVUQVU pprint?
MFJOEJGGUFTU
MFJOEJGGUFTU 文字列化してdiff?
FGUFTUXJUIQSFUUZSFQPSU
FGUFTUXJUIQSFUUZSFQPSU clojure.data/diff?
ଓɾίϨδϟφΠײ ͏ͪΐͬͱؤுͬͯཉ͍͠ʜ
ҰํɺςετϑϨʔϜ ϫʔΫք۾Ͱ
QPXFSBTTFSU͕ॏๅ͞Ε͍ͯͨ
ͦ͜ʹҰੴ͕͡ΒΕΔ http://bleis-tift.hatenablog.com/entry/about-power-assert
.VTDMF"TTFSUͷొ http://pocketberserker.hatenablog.com/entry/2016/06/02/143727
.VTDMF"TTFSU Ϣχοτςετ༻ͷΞαʔγϣϯ Կॲ͕Ͳ͏ҧ͏͔Λڧௐͯ͠ग़ྗ͢Δ ྗٕͰෆཁͳใΛѲΓ௵͢ʂ
࣌.VTDMF"TTFSU
࣌.VTDMF"TTFSU 筋肉はすべてを救う!?
ͱ͍͏Θ͚Ͱ ࡞Γ·ͨ͠
%&.0
·ͱΊ
·ͱΊ $MPKVSFͷςετք۾Α͔͘Βͳ͍ͷ͕ଟ͍ $MPKVSFͰ୯७ͳϚοϓͳͲͷൺֱ͕ଟ͍ͷͰ .VTDMF"TTFSUతͳΞϓϩʔν༗ޮ ࣮࡞ͬͯΔ్தͰࣅͨΑ͏ͳͷΛݟ͚ͭͯ ͠·͕ͬͨແࢹͨ͠ʜ
GMBSF
GMBSF 似てる…