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
1.1k
Clojureという言語が私逹にもたらしたもの
ayato0211
6
3.1k
3年間考え続けてきたWebアプリケーションにおけるテストの話
ayato0211
3
280
Re:REPL-Driven Development
ayato0211
3
1.3k
Meta Template Engine
ayato0211
2
1.1k
超変換! Hiccup data structure!!
ayato0211
2
630
About Integrant
ayato0211
0
570
Clojureを用いたWebアプリケーション開発
ayato0211
2
3.2k
翻訳にまつわるエトセトラ
ayato0211
6
1.2k
Other Decks in Programming
See All in Programming
dotfiles 式年遷宮 令和最新版
masawada
1
740
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
800
Cap'n Webについて
yusukebe
0
120
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
360
sbt 2
xuwei_k
0
260
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
290
エディターってAIで操作できるんだぜ
kis9a
0
700
TypeScriptで設計する 堅牢さとUXを両立した非同期ワークフローの実現
moeka__c
6
3k
バックエンドエンジニアによる Amebaブログ K8s 基盤への CronJobの導入・運用経験
sunabig
0
140
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
6
1k
開発に寄りそう自動テストの実現
goyoki
1
760
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
120
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Building Adaptive Systems
keathley
44
2.9k
Six Lessons from altMBA
skipperchong
29
4.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Git: the NoSQL Database
bkeepers
PRO
432
66k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
54k
Thoughts on Productivity
jonyablonski
73
5k
GraphQLとの向き合い方2022年版
quramy
50
14k
[SF Ruby Conf 2025] Rails X
palkan
0
490
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
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 似てる…