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
Unit Testing Sencha Applications
Search
Arthur Kay
June 05, 2012
Technology
1
120
Unit Testing Sencha Applications
Arthur Kay
June 05, 2012
Tweet
Share
More Decks by Arthur Kay
See All by Arthur Kay
Analyzing the ROI of JavaScript in Enterprise Software Development
arthurakay
0
160
Debugging your Apps with Google Chrome and Sencha
arthurakay
1
280
Announcing Ext JS 5
arthurakay
0
140
Conquering the Command Line
arthurakay
0
350
The Future of Enterprise App Development
arthurakay
0
130
Best Practices for Enterprise JavaScript Applications
arthurakay
7
2.5k
Bringing the Mobile Web to the Cloud
arthurakay
2
570
Building Native Windows 8 Apps with Sencha
arthurakay
0
260
Creating Windows 8 Apps with Ext JS
arthurakay
1
290
Other Decks in Technology
See All in Technology
What happened to RubyGems and what can we learn?
mikemcquaid
0
250
顧客の言葉を、そのまま信じない勇気
yamatai1212
1
350
日本の85%が使う公共SaaSは、どう育ったのか
taketakekaho
1
150
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
530
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
FinTech SREのAWSサービス活用/Leveraging AWS Services in FinTech SRE
maaaato
0
130
クレジットカード決済基盤を支えるSRE - 厳格な監査とSRE運用の両立 (SRE Kaigi 2026)
capytan
6
2.7k
SREチームをどう作り、どう育てるか ― Findy横断SREのマネジメント
rvirus0817
0
120
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
Amazon Bedrock Knowledge Basesチャンキング解説!
aoinoguchi
0
130
小さく始めるBCP ― 多プロダクト環境で始める最初の一歩
kekke_n
1
380
Claude_CodeでSEOを最適化する_AI_Ops_Community_Vol.2__マーケティングx_AIはここまで進化した.pdf
riku_423
2
530
Featured
See All Featured
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
250
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
300
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
1
99
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Designing for Performance
lara
610
70k
Odyssey Design
rkendrick25
PRO
1
490
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
How GitHub (no longer) Works
holman
316
140k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
0
430
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
120
Transcript
Presented by Art Kay Unit Testing Sencha Applications
Who am I? ! Arthur Kay ! Solutions
Engineer at Sencha, Inc. ! Longtime ExtJS fanatic ! Web developer for 10+ years ! www.akawebdesign.com ! @arthurakay
Sencha Chicago User Group ! Looking for: !
Speakers ! Ideas ! Giveaways ! Sponsors ! GET INVOLVED!
Agenda ! Overview of Unit Testing concepts !
Tools ! Overview of “Prize Patrol” ! Questions
Disclaimer I do not assert that this presentation: !
is how Sencha tests products internally ! is how Sencha would recommend you test your applications This is just a presentation of materials that have helped me.
Test Driven JS Development
Book http://www.tddjs.com BUY. THIS. BOOK.
Unit Testing ! Confidence in your code. !
Syntax ! Unit Tests ! Integration Tests
Code Correctness ! Correct syntax ! jslint.com
Unit Tests ! “Units” tested in isolation !
Setup / Teardown ! Mocks / Stubs TDD: Must write testable code!
Integration Tests ! Interaction with Application
Isn’t that a lot of work? ! Yes. !
Automation is key! ! Version control hooks ! Build process
Unit Testing Tools
JS Testing Tools ! Syntax ! JS Lint
/ JS Hint ! Hammer.js ! Unit Tests ! Jasmine ! JsTestDriver ! Integration Tests ! Selenium ! Phantom.js
Automation ! Shell scripts ! IDE plugins !
(Or something more elegant…)
A Sencha Touch App: Prize Patrol https://github.com/arthurakay/Prize-Patrol
Testing a Sencha MVC App ! MVC separates presentation
from logic ! Easy to write testable “units” ! Should allow us to “drive” tests
Jasmine ! Testing the “testable” units ! Little
or no reliance on DOM ! Sencha uses Jasmine internally
JsTestDriver ! Automated test suites across browsers ! IntelliJ
IDE Plugin ! Command line control
Phantom.js ! Lint all JS files (PhantomLint) !
Execute all Unit Tests (Jasmine) ! Drive Integration Tests (Casper.js)
Questions