Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
実践Flutter Visual Regression Testing
Search
Tomoki_Takahashi
April 27, 2021
Technology
0
280
実践Flutter Visual Regression Testing
Flutter × Kotlin Multiplatform by CyberAgent #3
2021/4/27
Tomoki_Takahashi
April 27, 2021
Tweet
Share
More Decks by Tomoki_Takahashi
See All by Tomoki_Takahashi
SwiftUI Components Management
tomokitakahashi
0
200
旅行アプリでより正確にパスポートを読み込む技術 ~ MLKit / Vision / CoreNFC ~
tomokitakahashi
2
710
Other Decks in Technology
See All in Technology
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
2
380
本当に使える?AutoUpgrade の新機能を実践検証してみた
oracle4engineer
PRO
1
120
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
1
200
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
370
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
190
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
240
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
360
第9回情シス転職ミートアップ_テックタッチ株式会社
forester3003
0
130
[TechNight #90-1] 本当に使える?ZDMの新機能を実践検証してみた
oracle4engineer
PRO
3
140
~宇宙最速~2025年AWS Summit レポート
satodesu
1
1.1k
20250623 Findy Lunch LT Brown
3150
0
750
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
0
120
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
4 Signs Your Business is Dying
shpigford
184
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
43
2.4k
Thoughts on Productivity
jonyablonski
69
4.7k
KATA
mclloyd
29
14k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Code Reviewing Like a Champion
maltzj
524
40k
Designing for Performance
lara
609
69k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Rails Girls Zürich Keynote
gr2m
94
14k
Transcript
2021/4/27 ࣮ફFlutter Visual Regression Testing 'MVUUFSº,PUMJO.VMUJQMBUGPSNCZ$ZCFS"HFOU
Tomoki Takahashi - Twitter: @tomosan_dev - CyberAgent / 2019~ -
Github: @tomokitakahashi - Flutter: ~6month
Visual Regression Testing - ը૾ճؼςετ - मਖ਼લޙͷը૾Λൺֱ͠ɺ͕ࠩͳ͍ɺҙਤͨࠩ͠Ͱ͋Δ͜ͱΛ֬ೝ - ࠷ۙωΠςΟϒͰঃʑʹར༻͞ΕΔΑ͏ʹ -
https://github.com/playbook-ui/playbook-ios
FlutterͰVRT࣮ݱͰ͖Δͷ͔… 😨 ·ͩ·ͩൃల్্ͳͷͰ…. Flutter࢝Ίͯ·ͩ1ϲ݄… DartͰ͢ΒΒͳ͍͜ͱͨ͘͞Μ͋Δͷʹ…
Flutter Golden Test
Agenda - Flutter Golden Test ʹ͍ͭͯ - GoldenTestΛར༻ͯ͠SnapshotΛ࡞͢Δ - GoldenTestͷͱղܾ
- reg-suitΛྫʹVRTͷӡ༻Λߟ͑Δ
Agenda - Flutter Golden Test ʹ͍ͭͯ - GoldenTestΛར༻ͯ͠SnapshotΛ࡞͢Δ - GoldenTestͷͱղܾ
- reg-suitΛྫʹVRTͷӡ༻Λߟ͑Δ
Flutter Golden Testsͬͯͳʹʁ - Widget TestͷҰ෦ - MatcherTestWidget୳ࡧධՁɺGoldenTestimageൺֱ - Unit
Test / Widget Test / Integreation Test
Flutter Golden Testsͬͯͳʹʁ - Widget TestͷҰ෦ - MatcherTestWidget୳ࡧධՁɺGoldenTestimageൺֱ - Unit
Test / Widget Test / Integreation Test
Agenda - Flutter Golden Test ʹ͍ͭͯ - GoldenTestΛར༻ͯ͠SnapshotΛ࡞͢Δ - GoldenTestͷͱղܾ
- reg-suitΛྫʹVRTͷӡ༻Λߟ͑Δ
1. Golden TestΛॻ͘
1. Golden TestΛॻ͘
1. Golden TestΛॻ͘ 3FGIUUQT fl VUUFSEFWEPDTDPPLCPPLUFTUJOHXJEHFU fi OEFST
2. Golden FileΛੜ͢Δ - flutter test - -update-goldensΛ࣮ߦ͢ΔͷΈ - ൺֱͷtestͱ࣮ͯ͠ߦ͢Δ߹
flutter testΛ࣮ߦ͢Δ
Agenda - Flutter Golden Test ʹ͍ͭͯ - GoldenTestΛར༻ͯ͠SnapshotΛ࡞͢Δ - GoldenTestͷͱղܾ
- reg-suitΛྫʹVRTͷӡ༻Λߟ͑Δ
Bad 1. font͕ϩʔυ͞Εͣจࣈ͕දࣔͰ͖ͳ͍ - flutter test্Ͱfontϩʔυ͞Εͳ͍🌀 - จࣈԽ͚͕ൃੜ͠ɺVRTʹར༻͢Δը૾ͱͯ͠ෆద - https://github.com/flutter/flutter/issues/17700
(3લ…)
XJEHFU@UFTUEBSU Try 1. FontLoaderΛͬͯfontΛಡΈࠐΉ QVCTQFDZBNM
QVCTQFDZBNM XJEHFU@UFTUEBSU Try 1. FontLoaderΛͬͯfontΛಡΈࠐΉ
Try 1. FontLoaderΛͬͯfontΛಡΈࠐΉ - rootͷMaterialApp.themeʹfontFamilyΛࢦఆ
Try 1. FontLoaderΛͬͯfontΛಡΈࠐΉ 🎉
Bad 2. Icon͕ϩʔυ͞ΕͣΞΠίϯ͕දࣔͰ͖ͳ͍ - flutter test্ͰFlutter.Iconϩʔυ͞Εͳ͍🌀 - จࣈԽ͚͕ൃੜ͠ɺVRTʹར༻͢Δը૾ͱͯ͠ෆద
Try 2. flutter͔ΒMaterialIconsΛಡΈࠐΉ IUUQTHJUIVCDPN fl VUUFS fl VUUFSJTTVFT
Try 2. flutter͔ΒMaterialIconsΛಡΈࠐΉ🎉
Tips. ը૾Λ࣮ػʹ͚ۙͮΔ - ը૾αΠζΛࢦఆ͢Δ
Tips. ScrollViewͷαΠζʹ߹ΘͤΔ
Tips. ScrollViewͷαΠζʹ߹ΘͤΔ
Agenda - Flutter Golden Test ʹ͍ͭͯ - GoldenTestΛར༻ͯ͠SnapshotΛ࡞͢Δ - GoldenTestͷͱղܾ
- reg-suitΛྫʹVRTͷӡ༻Λߟ͑Δ
reg-suitͬͯԿʁ - reg-suitVRTͷͨΊʹ࡞ΒΕͨOSS - ը૾ࠩͷڧௐදࣔɺը૾ͷCloudͷετΞɺGithub௨ 3FGIUUQTHJUIVCDPNSFHWJ[SFHTVJU
reg-suitಋೖ 1VMM3FRVFTU1VTI 4UPSFJNBHF &YFDVUFKPC fl VUUFSUFTUVQEBUFHPMEFOT SFHTVJUSVO 3FUVSO73563-
reg-suitಋೖ 1VMM3FRVFTU1VTI 4UPSFJNBHF &YFDVUFKPC fl VUUFSUFTUVQEBUFHPMEFOT SFHTVJUSVO 3FUVSO73563-
reg-suitಋೖ 3FWJFX 4UPSFJNBHF &YFDVUFKPC fl VUUFSUFTUVQEBUFHPMEFOT SFHTVJUSVO 3FUVSO73563-
Review - Approve͞ΕΔ·ͰSuccess͞Εͳ͍ - Golden TestͰςετ͠ͳ͍ͷՄࢹԽͯ͠ϨϏϡʔ͕ඞཁ͔ͩΒ
Mission Completed 🎉
·ͱΊ - ϑΥϯτɺΞΠίϯͷʹҙ͢Δ - FlutterͰVRTΛߦ͏ʹ Golden TestΛར༻͢Δ ɹɹ- ը૾͑͞ੜͰ͖Εҧ͏ํ๏Ͱ…ʁ -
Reg-suitͳͲͷՄࢹԽπʔϧΛ͓͢͢Ί͠·͢
Thanks