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
My own preferred testing techniques
Search
dgageot
September 26, 2011
Programming
1
99
My own preferred testing techniques
dgageot
September 26, 2011
Tweet
Share
More Decks by dgageot
See All by dgageot
Docker on Google Cloud Platform
dgageot
0
1.6k
Lightning Talk Mix-IT 2014
dgageot
0
790
CodeStory 2013 "La Selection Finale"
dgageot
0
730
Let's make this test suite run faster! - BeJUG
dgageot
1
470
Finale Code Story
dgageot
1
700
Le facilitateur, un rôle encore méconnu
dgageot
1
180
Mockito. Ecrire des tests unitaires est devenu simple.
dgageot
2
380
Git, la gestion de configuration qui vous veut du bien
dgageot
1
360
Let's make this test suite run faster
dgageot
1
52
Other Decks in Programming
See All in Programming
Migrating to Signals: A Practical Workshop
manfredsteyer
PRO
0
280
TCA魔法学入門🪄
dazy
0
280
Why 1 + 1 = 2 in Swift?
1plus4
1
250
クソコード動画『カプセル化 Mk-II』 で考える 上手くカプセル化できない理由 / encapsulation2
minodriven
11
8k
デザインシステムで Tailwind CSSとCSS in JSに分散投資をしたら良かった話
fsubal
14
3.4k
オブジェクトしこう
okuramasafumi
2
130
15分間でふんわり理解するDocker @ Matsuriba MAX
ukwhatn
PRO
1
340
CircleCIを活用して AWSへの継続的デリバリーを 実践する
coconala_engineer
1
110
Building a Smaller App Binary
kateinoigakukun
2
210
object-oriented-conference-2024
fuwasegu
6
1.9k
LLMチャットボットのアプリケーション設計Tips
os1ma
4
660
実践!RDRAを活用した既存システムの仕様変更 / Specification Changes in Existing Systems Utilizing RDRA
imamotohikaru
0
2.7k
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
119
16k
A Philosophy of Restraint
colly
195
15k
Designing for humans not robots
tammielis
247
25k
We Have a Design System, Now What?
morganepeng
42
6.7k
Gamification - CAS2011
davidbonilla
76
4.5k
How to train your dragon (web standard)
notwaldorf
71
5.1k
For a Future-Friendly Web
brad_frost
170
8.9k
WebSockets: Embracing the real-time Web
robhawkes
59
6.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
12
1.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
YesSQL, Process and Tooling at Scale
rocio
160
13k
GitHub's CSS Performance
jonrohan
1023
450k
Transcript
My own preferred testing techniques Paris Java User Group
www.parisjug.org Copyright(c) 2010 Paris JUG, Licence CC-Creatives Commons 2.0 France
- Paternité - Pas d’utilisation commerciale - Partage des Conditions à l’identique
Frameworks My own preferred testing techniques JUnit 4+ More expressive
tests More robust Faster Plugins
Personal taste only
Plugins
MoreUnit, a unit test friendly Eclipse http://moreunit.sourceforge.net/ See what’s tested
MoreUnit http://moreunit.sourceforge.net/ Jump to Test
MoreUnit http://moreunit.sourceforge.net/ Run current test Refactoring friendly (move, rename, delete)
http://moreunit.sourceforge.net/ Demo
Continuous testing Runs all impacted tests after each code change
Eclipse and Intellij OpenSource, Free http://infinitest.org
Demo
Continuous testing JUnit Max Runs all impacted tests after each
code change Try to run tests failing most often, first Eclipse and Intellij OpenSource, Free Developed by Kent Beck http://www.junitmax.com/
Frameworks
Hamcrest More readable assertions
Hamcrest More samples + easy to write custom matchers
So
FEST-Assert More readable assertions Demo
FEST-Assert More readable assertions OpenSource http://fest.easytesting.org/
JUnit 4.8.2 Worst logo ever!
Do you known/use all the features? @Test @Before, @After, @BeforeClass,
@AfterClass @RunWith @Theory, @DataPoint(s) @Rule @SuiteClasses @Category (beta) JUnit 4.8.2 Demo
@Categories and @SuiteClasses JUnit 4.8.2
@Categories and @SuiteClasses JUnit 4.8.2
@Categories and @SuiteClasses JUnit 4.8.2 Cumbersome Need not forget to
add each test manually in all suites Who doesn’t run all the tests every build? :-)
@Rule Take a look at the code of MethodRule, ExternalResource,
TestWatchman, Verifier... Write your own rules if they make the tests easier to read. JUnit 4.8.2
Thank you Q/A
www.parisjug.org Copyright(c) 2010 Paris JUG, Licence CC-Creatives Commons 2.0 France
- Paternité - Pas d’utilisation commerciale - Partage des Conditions à l’identique