How do you write microtests against old, complicated code? Redesigning the code can help, yet often you'll still
need to deal with awkward collaborators: calls to objects that are slow or difficult to test. Vanquish awkward
collaborators by learning a family of fakes, including simulators, stubs, listening and talking fakes, mocks and
auto-mocks.
Highlights
Expert Videos: Learn tools & techniques by watching short videos from industry experts.
Learn more...
Watch Short, Engaging Videos by Experts
Watch our experts efficiently explain models, demonstrate tools and solve exercises.
Like a good pop song, every video we make holds your attention and gets you into a better development rhythm.
Integrated Forums: Ask questions, get expert replies and read fascinating discussions.
Learn more...
Engage in a Global Forum
No other eLearning system on the planet matches our discussion forums, woven throughout every album.
Ask questions, get expert replies, read and weigh in on fascinating discussion threads from a global audience.
Includes
- 4-7 hours of content
- 149 pages of content
- 11 Interactive quizzes
- 4 Videos
- 4 Exercises:
- Support for Eclipse
- Support for IntelliJ
Contents
You Are Here
|
3
|
Roll The Dice: A Faking Opportunity
|
4
|
This Album
|
5
|
Roll The Dice Fakelessly
|
7
|
Download the Code
|
8
|
Steps For The Exercise
|
9
|
Our Solution
|
10
|
Points To Ponder
|
11
|
Awkward By Domain: The Maker & The Dice
|
13
|
One Weak Microtest
|
14
|
The Goal
|
15
|
Download the Code
|
16
|
Steps For The Exercise
|
17
|
Our Solution
|
18
|
Key Points For Your First Fake
|
19
|
Intro to Auto-Mocking
|
21
|
Some Details for the Automocker
|
22
|
Download the Code
|
23
|
Steps For The Exercise
|
24
|
Our Solution
|
25
|
Points To Ponder
|
26
|
Slipping In A Fake
|
44
|
Keyword: Stub
|
45
|
An Awkward Collaboration
|
46
|
Awkward Enough For A Stub?
|
47
|
Keyword: Talking Fake
|
48
|
Example: InventoryControlTalkingFake
|
49
|
Taking It One Step Further
|
50
|
Keyword: Listening Fake
|
51
|
Example: OrderLogListeningFake
|
52
|
The Relationship Between Fake And Awkward
← Click to Preview
|
53
|
Introduction
|
70
|
The Code
|
71
|
Existing Microtests
|
72
|
Download The Code
|
73
|
The First Case Of Slowness
|
74
|
Our Solution
|
75
|
Great Microtests
|
76
|
Make A Stub For Shipper
|
77
|
Slipping A Shipper Stub Solution
← Click to Preview
|
78
|
Making a Listening Fake
|
79
|
Listening Fake Solution
|
80
|
Our Love/Hate Relationship With Singletons
|
82
|
Problems With Singletons
|
83
|
So, No Static Objects?
|
84
|
Solutions to Singletons
|
85
|
Slipping Technique: Alternate Construction
|
86
|
Slipping Technique: Set Fake Singleton
|
87
|
Set Fake Singleton Example
← Click to Preview
|
88
|
Slipping Technique: Redirection
|
89
|
Redirection Example
|
90
|
Static Collaborator: Another Example
|
91
|
Static Collaborator: Possible Solution
|
92
|
Exercise: Faking A Singleton
|
94
|
A First Attempt
|
95
|
Download The Code
|
96
|
Double Awkwardness
|
97
|
Hints
|
98
|
Our Solution
|
99
|
A Little Story
|
101
|
What It Looks Like
|
102
|
Robin To The Rescue: FakeTransactionLog
|
103
|
The Same Test Every Time
|
104
|
What To Do?
|
105
|
Keyword: Mock
|
106
|
Is That All?
|
107
|
Big Idea: Interaction, Not State
← Click to Preview
|
108
|
Big Idea: Mocks Can Be Made Automagically
|
109
|
How Are Mocks Born?
|
110
|
Auto-Mocks: Let the Computer Do It
|
112
|
A Word of Advice
|
113
|
Mockito Makes Mocks
|
114
|
How Mocking Works
|
115
|
Using Mocks In A Typical Test
|
116
|
Deciphering The Pattern In Test
|
117
|
Try That Again In English
|
118
|
Ignoring Calls On The Mock
|
119
|
Verify The Expectations
|
120
|
Invocation Counts
|
121
|
Argument Matching
|
122
|
Adding A Return Value
|
123
|
Sequences
|
124
|
The Rest Of The Story
|
125
|
Final Advice
|
126
|
Automocking Expectations
|
128
|
The Challenge
|
129
|
The Code
|
130
|
Awkwardness
← Click to Preview
|
131
|
Download The Code
|
132
|
Your Mission: The Simplest Case
|
133
|
Solution For The Simplest Case
|
134
|
The Second Task
|
135
|
Solution For The Second Task
|
136
|
The Last Task
|
137
|
Solution For The Last Task
|
138
|
A Hardware Situation
|
140
|
Keyword: Simulator
|
141
|
Simulators In Practice
|
142
|
The Real Role Of Simulators
|
143
|
Real Objects vs. Fakes & Mocks
|
145
|
An Example
|
146
|
A Defect Slips Through
|
147
|
Conclusion: What's Next?
|
149
|
Highlights
Expert Videos: Learn tools & techniques by watching short videos from industry experts.
Learn more...
Watch Short, Engaging Videos by Experts
Watch our experts efficiently explain models, demonstrate tools and solve exercises.
Like a good pop song, every video we make holds your attention and gets you into a better development rhythm.
Integrated Forums: Ask questions, get expert replies and read fascinating discussions.
Learn more...
Engage in a Global Forum
No other eLearning system on the planet matches our discussion forums, woven throughout every album.
Ask questions, get expert replies, read and weigh in on fascinating discussion threads from a global audience.
Includes
- 4-7 hours of content
- 149 pages of content
- 11 Interactive quizzes
- 4 Videos
- 4 Exercises:
- Support for Eclipse
- Support for IntelliJ
Contents
You Are Here
|
3
|
Roll The Dice: A Faking Opportunity
|
4
|
This Album
|
5
|
Roll The Dice Fakelessly
|
7
|
Download the Code
|
8
|
Steps For The Exercise
|
9
|
Our Solution
|
10
|
Points To Ponder
|
11
|
Awkward By Domain: The Maker & The Dice
|
13
|
One Weak Microtest
|
14
|
The Goal
|
15
|
Download the Code
|
16
|
Steps For The Exercise
|
17
|
Our Solution
|
18
|
Key Points For Your First Fake
|
19
|
Intro to Auto-Mocking
|
21
|
Some Details for the Automocker
|
22
|
Download the Code
|
23
|
Steps For The Exercise
|
24
|
Our Solution
|
25
|
Points To Ponder
|
26
|
Slipping In A Fake
|
44
|
Keyword: Stub
|
45
|
An Awkward Collaboration
|
46
|
Awkward Enough For A Stub?
|
47
|
Keyword: Talking Fake
|
48
|
Example: InventoryControlTalkingFake
|
49
|
Taking It One Step Further
|
50
|
Keyword: Listening Fake
|
51
|
Example: OrderLogListeningFake
|
52
|
The Relationship Between Fake And Awkward
← Click to Preview
|
53
|
Introduction
|
70
|
The Code
|
71
|
Existing Microtests
|
72
|
Download The Code
|
73
|
The First Case Of Slowness
|
74
|
Our Solution
|
75
|
Great Microtests
|
76
|
Make A Stub For Shipper
|
77
|
Slipping A Shipper Stub Solution
← Click to Preview
|
78
|
Making a Listening Fake
|
79
|
Listening Fake Solution
|
80
|
Our Love/Hate Relationship With Singletons
|
82
|
Problems With Singletons
|
83
|
So, No Static Objects?
|
84
|
Solutions to Singletons
|
85
|
Slipping Technique: Alternate Construction
|
86
|
Slipping Technique: Set Fake Singleton
|
87
|
Set Fake Singleton Example
← Click to Preview
|
88
|
Slipping Technique: Redirection
|
89
|
Redirection Example
|
90
|
Static Collaborator: Another Example
|
91
|
Static Collaborator: Possible Solution
|
92
|
Exercise: Faking A Singleton
|
94
|
A First Attempt
|
95
|
Download The Code
|
96
|
Double Awkwardness
|
97
|
Hints
|
98
|
Our Solution
|
99
|
A Little Story
|
101
|
What It Looks Like
|
102
|
Robin To The Rescue: FakeTransactionLog
|
103
|
The Same Test Every Time
|
104
|
What To Do?
|
105
|
Keyword: Mock
|
106
|
Is That All?
|
107
|
Big Idea: Interaction, Not State
← Click to Preview
|
108
|
Big Idea: Mocks Can Be Made Automagically
|
109
|
How Are Mocks Born?
|
110
|
Auto-Mocks: Let the Computer Do It
|
112
|
A Word of Advice
|
113
|
Mockito Makes Mocks
|
114
|
How Mocking Works
|
115
|
Using Mocks In A Typical Test
|
116
|
Deciphering The Pattern In Test
|
117
|
Try That Again In English
|
118
|
Ignoring Calls On The Mock
|
119
|
Verify The Expectations
|
120
|
Invocation Counts
|
121
|
Argument Matching
|
122
|
Adding A Return Value
|
123
|
Sequences
|
124
|
The Rest Of The Story
|
125
|
Final Advice
|
126
|
Automocking Expectations
|
128
|
The Challenge
|
129
|
The Code
|
130
|
Awkwardness
← Click to Preview
|
131
|
Download The Code
|
132
|
Your Mission: The Simplest Case
|
133
|
Solution For The Simplest Case
|
134
|
The Second Task
|
135
|
Solution For The Second Task
|
136
|
The Last Task
|
137
|
Solution For The Last Task
|
138
|
A Hardware Situation
|
140
|
Keyword: Simulator
|
141
|
Simulators In Practice
|
142
|
The Real Role Of Simulators
|
143
|
Real Objects vs. Fakes & Mocks
|
145
|
An Example
|
146
|
A Defect Slips Through
|
147
|
Conclusion: What's Next?
|
149
|
Volume Licensing
Volume Licensing
In today's competitive environment, Industrial Logic aims to meet the needs of business customers not only by delivering world-class eLearning but also by providing a high degree of flexibility. Whether your organization is a startup, small- or medium-size business, or a large global enterprise, you benefit as a corporate customer from significant discounts.
Benefits
-
Volume pricing discounts. It's simple: the more you purchase, the more you save.
-
Custom catalogs. Define your custom catalog of albums and/or box sets that your staff can subscribe to.
-
One-on-one support. You get a dedicated Account Manager; choose the optimal program to meet your organization's specific needs.
-
Timely support. Expert coaches are available to answer your challenging questions within 1 to 2 business days. To foster a community of enthusiastic eLearners, we welcome and encourage user feedback.
-
Customized playlists. We provide customized playlists to help your staff efficiently navigate through the rich content.
-
Streamlined procurement process. With a single purchasing contract, you can avoid departmental budget constraints, differing purchasing procedures, and other administrative hurdles.
-
Flexible payment options. We offer flexible payment for qualified customers.
-
Unlimited lifetime license. Your students' licenses will not expire, providing continuous access to an effective, ever-improving learning tool.
Industrial Logic will tailor our volume licensing agreement to meet the needs of your specific organization, whether you consolidate your organization's purchases into one comprehensive transaction or spread your purchases out over a scheduled period of time. The more you order, the greater your savings.
To speak to a dedicated Account Manager today, please contact us.