SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
describe('UnitTes.ng', 
func.on(){ 
it('works 
with 
AngularJS'… 
} 
Jesse 
Liberty 
Master 
Consultant 
Falafel 
SoFware 
jesse@falafel.com 
@jesseliberty
What We Will Cover 
• Why 
bother? 
• Why 
Aren't 
We 
Doing 
It? 
• Wri.ng 
specs 
• Matchers 
• Spies
Getting the terms right 
§ Unit Test 
§ Test Driven Development (TDD) 
o Test First Development 
§ Behavior Driven Development (BDD)
Am I In The Right Presenta7on? 
• I 
assume… 
• Comfort 
with 
Angular 
Fundamentals 
• No 
prior 
experience 
with 
unit 
tes.ng
Ques7ons 
If 
you 
get 
lost 
it 
will 
be 
hard 
to 
catch 
up 
so 
please, 
please 
ask 
ques.ons 
Copyright 
© 
2003-­‐2014 
Falafel 
SoFware 
Inc. 
5 
Q&A 
at 
the 
end
Getting Started 
§ What you already need to know 
o Javascript 
o Angular 
§ What hardware you need 
§ What software you need 
§ Where to get everything 
o Getting Jasmine 
o Finding documentation 
o Finding Help
jasmine.github.io
Red, Green, Rafactor 
§ Red – Your Test Should Fail 
§ Green – Make Your Test Pass 
§ Refactor – Clean up your code without breaking your test
Red, Green, Rafactor 
§ Red – Your Test Should Fail 
§ Green – Make Your Test Work 
§ Refactor – Clean up your code without breaking your test 
Lather 
Rinse 
Repeat
Three Laws 
1. You may not write production code until 
you have a failing test 
2. You may not write more of a unit test than 
is sufficient to fail 
3. You may not write more production code 
than is sufficient to pass
The Prime Directive 
§ Your test code should be as good and well maintained as your 
production code. 
o Succinct 
o Clear 
o Simple 
§ However, do not worry about efficiency in test code
Test One Concept In Each Test 
§ Pass/Fail should immediately convey what was tested and the result
F.I.R.S.T. 
§ Fast 
§ Independent 
§ Repeatable 
§ Self-validating (boolean output) 
§ Timely
SEE: 
Setup 
Execute 
Check Expectations
Wri7ng Your First Spec
Demo
Measuring your step size
Matchers
Matchers 
§ toBe 
§ toEqual 
§ toBeTruthy 
§ toBeNull, toBeUndefined, toBeNaN 
§ toContain 
§ toMatch 
§ toBeLessThan 
§ etc.
Demo
Demo
Custom Matchers 
• How 
would 
we 
test 
that 
an 
expense 
item 
is 
"reasonable?" 
• Problem 
#1 
– 
We'd 
like 
to 
use 
"ToBeReasonable" 
• Problem 
#2 
– 
How 
will 
the 
compare 
pick 
out 
the 
amount 
as 
the 
value 
to 
test? 
new 
ExpenseItem( 
'taxi', 
'Taxi 
to 
airport', 
89.50);
Custom Matchers
Demo
Making An Expense Item 
§ Delete expense.js 
§ Add new parameters to ExpenseItem
Requirement: 
Persist 
expenses 
and 
report 
number 
that 
were 
persisted
Demo
Ques7ons? 
Contact 
me: 
jesse@falafel.com 
@jesseliberty
Contact Me 
• Jesse 
Liberty 
• Falafel 
SoFware 
• jesse@falafel.com 
• @jesseliberty

Contenu connexe

Tendances

Patterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsitePatterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsite
Anand Ramdeo
 

Tendances (20)

Helping Programmers Write Better Tests
Helping Programmers Write Better TestsHelping Programmers Write Better Tests
Helping Programmers Write Better Tests
 
Agile testingandautomation
Agile testingandautomationAgile testingandautomation
Agile testingandautomation
 
Learn Unit Testing and Improve Sexual Performance
Learn Unit Testing and Improve Sexual PerformanceLearn Unit Testing and Improve Sexual Performance
Learn Unit Testing and Improve Sexual Performance
 
Developer Night - Opticon18
Developer Night - Opticon18Developer Night - Opticon18
Developer Night - Opticon18
 
U certify earlybird sale
U certify earlybird saleU certify earlybird sale
U certify earlybird sale
 
Grading the Quality of Selenium Tests
Grading the Quality of Selenium TestsGrading the Quality of Selenium Tests
Grading the Quality of Selenium Tests
 
Zen And the Art of Test Maintenance Presentation
Zen And the Art of Test Maintenance PresentationZen And the Art of Test Maintenance Presentation
Zen And the Art of Test Maintenance Presentation
 
Zen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
Zen and the art of Test Maintenance - #TestIL Meetup Tel AvivZen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
Zen and the art of Test Maintenance - #TestIL Meetup Tel Aviv
 
Zen and the Art of Test Maintenance
Zen and the Art of Test MaintenanceZen and the Art of Test Maintenance
Zen and the Art of Test Maintenance
 
Patterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsitePatterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsite
 
Dirty tests and How To Clean Them
Dirty tests and How To Clean ThemDirty tests and How To Clean Them
Dirty tests and How To Clean Them
 
Unit testing for Grown-ups
Unit testing for Grown-upsUnit testing for Grown-ups
Unit testing for Grown-ups
 
Living with acceptance tests: Beyond Write-Once (XP NYC)
Living with acceptance tests: Beyond Write-Once (XP NYC)Living with acceptance tests: Beyond Write-Once (XP NYC)
Living with acceptance tests: Beyond Write-Once (XP NYC)
 
Refactoring legacy code
Refactoring legacy codeRefactoring legacy code
Refactoring legacy code
 
It's the Little Things: Creating a Delightful WordPress Experience for Your C...
It's the Little Things: Creating a Delightful WordPress Experience for Your C...It's the Little Things: Creating a Delightful WordPress Experience for Your C...
It's the Little Things: Creating a Delightful WordPress Experience for Your C...
 
ATDD with Pepino
ATDD with PepinoATDD with Pepino
ATDD with Pepino
 
Agile Network India | Be Customer Centric with Test First Development | Mamat...
Agile Network India | Be Customer Centric with Test First Development | Mamat...Agile Network India | Be Customer Centric with Test First Development | Mamat...
Agile Network India | Be Customer Centric with Test First Development | Mamat...
 
4 TSPN_Apex 10 Commandments
4 TSPN_Apex 10 Commandments4 TSPN_Apex 10 Commandments
4 TSPN_Apex 10 Commandments
 
Maintaining Retainers as a WordPress Developer
Maintaining Retainers as a WordPress DeveloperMaintaining Retainers as a WordPress Developer
Maintaining Retainers as a WordPress Developer
 
Top 10 die besten 3D Camcorder in 2018
Top 10 die besten 3D Camcorder in 2018Top 10 die besten 3D Camcorder in 2018
Top 10 die besten 3D Camcorder in 2018
 

Similaire à Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | FalafelCON 2014

{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx
AmalEldhose2
 
An Introduction to unit testing
An Introduction to unit testingAn Introduction to unit testing
An Introduction to unit testing
Steven Casey
 

Similaire à Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | FalafelCON 2014 (20)

Unit testing
Unit testingUnit testing
Unit testing
 
Completely Test-Driven
Completely Test-DrivenCompletely Test-Driven
Completely Test-Driven
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
 
Testacular
TestacularTestacular
Testacular
 
Fantastic Tests - The Crimes of Bad Test Design
Fantastic Tests - The Crimes of Bad Test DesignFantastic Tests - The Crimes of Bad Test Design
Fantastic Tests - The Crimes of Bad Test Design
 
TDD and Getting Paid
TDD and Getting PaidTDD and Getting Paid
TDD and Getting Paid
 
iOS Test-Driven Development
iOS Test-Driven DevelopmentiOS Test-Driven Development
iOS Test-Driven Development
 
{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx{10.0} Test Driven Development.pptx
{10.0} Test Driven Development.pptx
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
 
Test Driven
Test DrivenTest Driven
Test Driven
 
Test Driven Development with Laravel
Test Driven Development with LaravelTest Driven Development with Laravel
Test Driven Development with Laravel
 
Test-Driven Development
 Test-Driven Development  Test-Driven Development
Test-Driven Development
 
Testing recipes
Testing recipesTesting recipes
Testing recipes
 
An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1An Introduction To Software Development - Test Driven Development, Part 1
An Introduction To Software Development - Test Driven Development, Part 1
 
You have no idea what your users want - WordCamp PDX
You have no idea what your users want - WordCamp PDXYou have no idea what your users want - WordCamp PDX
You have no idea what your users want - WordCamp PDX
 
An Introduction to unit testing
An Introduction to unit testingAn Introduction to unit testing
An Introduction to unit testing
 
Apex 10 commandments df14
Apex 10 commandments df14Apex 10 commandments df14
Apex 10 commandments df14
 
TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019TDD and Simple Design Workshop - Session 1 - March 2019
TDD and Simple Design Workshop - Session 1 - March 2019
 
TDD Best Practices
TDD Best PracticesTDD Best Practices
TDD Best Practices
 
Intro to TDD
Intro to TDDIntro to TDD
Intro to TDD
 

Plus de FalafelSoftware

Plus de FalafelSoftware (13)

Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
Building Custom AngularJS Directives - A Step-by-Step Guide - Dan Wahlin | Fa...
 
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
 
DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014
DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014
DDD with ASP.NET MVC - Steve Smith | FalafelCON 2014
 
Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014
Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014
Breaking Dependencies To Allow Unit Testing - Steve Smith | FalafelCON 2014
 
Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...
Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...
Solving Mobile Test Automation Challenges with TestComplete - Nick Olivo | Fa...
 
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
iBeacons for Everyone, from iOS to Android - James Montemagno | FalafelCON 2014
 
XAML Development with Xamarin - Jesse Liberty | FalafelCON 2014
XAML Development with Xamarin  - Jesse Liberty | FalafelCON 2014XAML Development with Xamarin  - Jesse Liberty | FalafelCON 2014
XAML Development with Xamarin - Jesse Liberty | FalafelCON 2014
 
AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014
AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014
AngularJS and Kendo UI - Jesse Liberty | FalafelCON 2014
 
Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014
Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014
Agile Patterns: Estimation - Stephen Forte | FalafelCON 2014
 
Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014
Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014
Mobile ASP.Net Web Forms - Making the impossible possible | FalafelCON 2014
 
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
Introducing ASP.NET vNext – The Future of .NET on the Server | FalafelCON 2014
 
Cloud and Azure and Rock and Roll
Cloud and Azure and Rock and RollCloud and Azure and Rock and Roll
Cloud and Azure and Rock and Roll
 
The Hitchhicker’s Guide to Windows Azure Mobile Services | FalafelCON 2014
The Hitchhicker’s Guide to Windows Azure Mobile Services | FalafelCON 2014The Hitchhicker’s Guide to Windows Azure Mobile Services | FalafelCON 2014
The Hitchhicker’s Guide to Windows Azure Mobile Services | FalafelCON 2014
 

Dernier

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 

Dernier (20)

%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 

Unit Testing and Behavior Driven Testing with AngularJS - Jesse Liberty | FalafelCON 2014

  • 1. describe('UnitTes.ng', func.on(){ it('works with AngularJS'… } Jesse Liberty Master Consultant Falafel SoFware jesse@falafel.com @jesseliberty
  • 2. What We Will Cover • Why bother? • Why Aren't We Doing It? • Wri.ng specs • Matchers • Spies
  • 3. Getting the terms right § Unit Test § Test Driven Development (TDD) o Test First Development § Behavior Driven Development (BDD)
  • 4. Am I In The Right Presenta7on? • I assume… • Comfort with Angular Fundamentals • No prior experience with unit tes.ng
  • 5. Ques7ons If you get lost it will be hard to catch up so please, please ask ques.ons Copyright © 2003-­‐2014 Falafel SoFware Inc. 5 Q&A at the end
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Getting Started § What you already need to know o Javascript o Angular § What hardware you need § What software you need § Where to get everything o Getting Jasmine o Finding documentation o Finding Help
  • 16.
  • 17. Red, Green, Rafactor § Red – Your Test Should Fail § Green – Make Your Test Pass § Refactor – Clean up your code without breaking your test
  • 18. Red, Green, Rafactor § Red – Your Test Should Fail § Green – Make Your Test Work § Refactor – Clean up your code without breaking your test Lather Rinse Repeat
  • 19. Three Laws 1. You may not write production code until you have a failing test 2. You may not write more of a unit test than is sufficient to fail 3. You may not write more production code than is sufficient to pass
  • 20. The Prime Directive § Your test code should be as good and well maintained as your production code. o Succinct o Clear o Simple § However, do not worry about efficiency in test code
  • 21. Test One Concept In Each Test § Pass/Fail should immediately convey what was tested and the result
  • 22. F.I.R.S.T. § Fast § Independent § Repeatable § Self-validating (boolean output) § Timely
  • 23. SEE: Setup Execute Check Expectations
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Demo
  • 36.
  • 37.
  • 38.
  • 40. Matchers § toBe § toEqual § toBeTruthy § toBeNull, toBeUndefined, toBeNaN § toContain § toMatch § toBeLessThan § etc.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54. Demo
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62. Demo
  • 63. Custom Matchers • How would we test that an expense item is "reasonable?" • Problem #1 – We'd like to use "ToBeReasonable" • Problem #2 – How will the compare pick out the amount as the value to test? new ExpenseItem( 'taxi', 'Taxi to airport', 89.50);
  • 65.
  • 66.
  • 67.
  • 68.
  • 69. Demo
  • 70.
  • 71. Making An Expense Item § Delete expense.js § Add new parameters to ExpenseItem
  • 72.
  • 73.
  • 74. Requirement: Persist expenses and report number that were persisted
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81. Demo
  • 82.
  • 83. Ques7ons? Contact me: jesse@falafel.com @jesseliberty
  • 84. Contact Me • Jesse Liberty • Falafel SoFware • jesse@falafel.com • @jesseliberty