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
- 148 pages of content
- 11 Interactive quizzes
- 4 Videos
- 3 Exercises
- Coverage of gMock
- Platform-independent code
- Support for Visual Studio
- Support for Eclipse CDT
- Uses Google Test
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
|
Refactoring To Facilitate Faking
|
55
|
Easy Slip #1: Method Argument Slip
|
56
|
Slipping Technique: Parameterize Method
|
57
|
Easy Slip #2: Constructor Argument Slip
|
58
|
Slipping Technique: Alternate Constructor
|
59
|
Slipping Technique: Passing A Factory
|
60
|
Problem: Several Awkward Collaborators Example
|
61
|
Solution: Several Awkward Collaborators Example
|
62
|
Slipping A Fake, Dependency Injection and Inversion Of Control
← Click to Preview
|
63
|
Slipping Technique: Introduce Adapter
|
64
|
Introduce Adapter Example
|
65
|
Adapter in Pictures
|
66
|
Slipping Technique: Templatize Collaborator Type
|
67
|
Templatize Collaborator Type Example
← Click to Preview
|
68
|
Would You Use This Technique?
|
69
|
Review: Slipping Techniques
|
70
|
Introduction
|
72
|
The Code
|
73
|
Existing Microtests
|
74
|
Download The Code
|
75
|
The First Case Of Slowness
|
76
|
Our Solution
|
77
|
Great Microtests
|
78
|
Make A Stub For Shipper
|
79
|
Slipping A Shipper Stub Solution
← Click to Preview
|
80
|
Making a Listening Fake
|
81
|
Listening Fake Solution
|
82
|
Our Love/Hate Relationship With Singletons
|
84
|
Problems With Singletons
|
85
|
So, No Static Objects?
|
86
|
Solutions to Singletons
|
87
|
Slipping Technique: Alternate Construction
|
88
|
Slipping Technique: Set Fake Singleton
|
89
|
Set Fake Singleton Example
← Click to Preview
|
90
|
Slipping Technique: Redirection
|
91
|
Redirection Example
|
92
|
Static Collaborator: Another Example
|
93
|
Static Collaborator: Possible Solution
|
94
|
Exercise: Faking A Singleton
|
96
|
A First Attempt
|
97
|
Download The Code
|
98
|
Double Awkwardness
|
99
|
Hints
|
100
|
Our Solution
|
101
|
A Little Story
|
103
|
What It Looks Like
|
104
|
Robin To The Rescue: FakeTransactionLog
|
105
|
The Same Test Every Time
|
106
|
What To Do?
|
107
|
Keyword: Mock
|
108
|
Is That All?
|
109
|
Big Idea: Interaction, Not State
← Click to Preview
|
110
|
Big Idea: Mocks Can Be Made Automagically
|
111
|
How Are Mocks Born?
|
112
|
What are Auto-Mocks?
|
114
|
Five Steps To gMocking
|
115
|
A Video Introduction to gMock
|
116
|
Quick Reference: The Method Declaration Syntax
|
117
|
Quick Reference: The ON_CALL Syntax
|
118
|
Quick Reference: The EXPECT_CALL Syntax
|
119
|
Yowza!
|
120
|
Let's Play 'Find The Mock'
|
121
|
Quick Reference: Exact Parameter Matching
|
122
|
Quick Reference: Matchers
|
123
|
Quick Reference: Sequences
|
124
|
Quick Reference: Actions
|
125
|
Automocking Expectations
|
127
|
The Challenge
|
128
|
The Code
|
129
|
Awkwardness
← Click to Preview
|
130
|
Download The Code
|
131
|
Your Mission: The Simplest Case
|
132
|
Solution For The Simplest Case
|
133
|
The Second Task
|
134
|
Solution For The Second Task
|
135
|
The Last Task
|
136
|
Solution For The Last Task
|
137
|
A Hardware Situation
|
139
|
Keyword: Simulator
|
140
|
Simulators In Practice
|
141
|
The Real Role Of Simulators
|
142
|
Real Objects vs. Fakes & Mocks
|
144
|
An Example
|
145
|
A Defect Slips Through
|
146
|
Conclusion: What's Next?
|
148
|
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
- 148 pages of content
- 11 Interactive quizzes
- 4 Videos
- 3 Exercises
- Coverage of gMock
- Platform-independent code
- Support for Visual Studio
- Support for Eclipse CDT
- Uses Google Test
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
|
Refactoring To Facilitate Faking
|
55
|
Easy Slip #1: Method Argument Slip
|
56
|
Slipping Technique: Parameterize Method
|
57
|
Easy Slip #2: Constructor Argument Slip
|
58
|
Slipping Technique: Alternate Constructor
|
59
|
Slipping Technique: Passing A Factory
|
60
|
Problem: Several Awkward Collaborators Example
|
61
|
Solution: Several Awkward Collaborators Example
|
62
|
Slipping A Fake, Dependency Injection and Inversion Of Control
← Click to Preview
|
63
|
Slipping Technique: Introduce Adapter
|
64
|
Introduce Adapter Example
|
65
|
Adapter in Pictures
|
66
|
Slipping Technique: Templatize Collaborator Type
|
67
|
Templatize Collaborator Type Example
← Click to Preview
|
68
|
Would You Use This Technique?
|
69
|
Review: Slipping Techniques
|
70
|
Introduction
|
72
|
The Code
|
73
|
Existing Microtests
|
74
|
Download The Code
|
75
|
The First Case Of Slowness
|
76
|
Our Solution
|
77
|
Great Microtests
|
78
|
Make A Stub For Shipper
|
79
|
Slipping A Shipper Stub Solution
← Click to Preview
|
80
|
Making a Listening Fake
|
81
|
Listening Fake Solution
|
82
|
Our Love/Hate Relationship With Singletons
|
84
|
Problems With Singletons
|
85
|
So, No Static Objects?
|
86
|
Solutions to Singletons
|
87
|
Slipping Technique: Alternate Construction
|
88
|
Slipping Technique: Set Fake Singleton
|
89
|
Set Fake Singleton Example
← Click to Preview
|
90
|
Slipping Technique: Redirection
|
91
|
Redirection Example
|
92
|
Static Collaborator: Another Example
|
93
|
Static Collaborator: Possible Solution
|
94
|
Exercise: Faking A Singleton
|
96
|
A First Attempt
|
97
|
Download The Code
|
98
|
Double Awkwardness
|
99
|
Hints
|
100
|
Our Solution
|
101
|
A Little Story
|
103
|
What It Looks Like
|
104
|
Robin To The Rescue: FakeTransactionLog
|
105
|
The Same Test Every Time
|
106
|
What To Do?
|
107
|
Keyword: Mock
|
108
|
Is That All?
|
109
|
Big Idea: Interaction, Not State
← Click to Preview
|
110
|
Big Idea: Mocks Can Be Made Automagically
|
111
|
How Are Mocks Born?
|
112
|
What are Auto-Mocks?
|
114
|
Five Steps To gMocking
|
115
|
A Video Introduction to gMock
|
116
|
Quick Reference: The Method Declaration Syntax
|
117
|
Quick Reference: The ON_CALL Syntax
|
118
|
Quick Reference: The EXPECT_CALL Syntax
|
119
|
Yowza!
|
120
|
Let's Play 'Find The Mock'
|
121
|
Quick Reference: Exact Parameter Matching
|
122
|
Quick Reference: Matchers
|
123
|
Quick Reference: Sequences
|
124
|
Quick Reference: Actions
|
125
|
Automocking Expectations
|
127
|
The Challenge
|
128
|
The Code
|
129
|
Awkwardness
← Click to Preview
|
130
|
Download The Code
|
131
|
Your Mission: The Simplest Case
|
132
|
Solution For The Simplest Case
|
133
|
The Second Task
|
134
|
Solution For The Second Task
|
135
|
The Last Task
|
136
|
Solution For The Last Task
|
137
|
A Hardware Situation
|
139
|
Keyword: Simulator
|
140
|
Simulators In Practice
|
141
|
The Real Role Of Simulators
|
142
|
Real Objects vs. Fakes & Mocks
|
144
|
An Example
|
145
|
A Defect Slips Through
|
146
|
Conclusion: What's Next?
|
148
|
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.
-
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.