Learn about test doubles, which replace components and are used to isolate code in unit testing. Explore test double variations including test stubs, test spies, and mock objects.
- [Instructor] Unit testing requires isolation…of the target code.…However, due to the power of Node.js's modularity…pretty much everything depends on everything.…How can we isolate our code,…so we only test the intended functionality?…Fortunately, there's a solution to this problem…and it involves replacing and inspecting code execution…with test structures, known as stubs, spies, and mocks.…In this chapter we're going to start…by discussing what test doubles are…and how they can be used to replace code,…then we'll compare some techniques…for overriding dependencies…by manipulating the require cache.…
With that foundation…we'll apply those techniques to our testing.…We'll control the responses of methods,…observe interactions between components,…and verify expected behavior of the code we're testing.…We'll do all of this without having to modify…how our modules require code, which is fantastic.…Let's start by discussing test doubles,…which are a special kind of code.…What are they?…A test double is a replacement for an arbitrary component…
- What is code quality?
- Testing and code quality fundamentals
- Coding conventions and standards
- Creating and enforcing coding standards
- Unit, integration, and functional testing
- Test-driven development test specificatons
- Behavior-driven development test specifications
- Finding errors with linting
- Extending an ESLint shareable config
- Validating correctness with unit testing
- Replacing and inspecting with stubs, spies, and mocks
- Code coverage and why it matters
- Coverage with continuous integration
Skill Level Intermediate
Node.js: Build Your First Microservicewith Daniel Khan2h 9m Intermediate
Building APIs Using Hapi in Node.jswith Kirsten Hunter2h 23m Intermediate
Node.js: Extend and Maintain Applicationswith Daniel Khan3h 35m Intermediate
1. Testing and Code Quality Fundamentals
2. Finding Errors with Linting
3. Validating Correctness with Unit Testing
4. Replacing and Inspecting with Stubs, Spies, and Mocks
5. Reporting on Your Entire Codebase
Where to go from here?3m 46s
- Mark as unwatched
- Mark all as unwatched
Are you sure you want to mark all the videos in this course as unwatched?
This will not affect your course history, your reports, or your certificates of completion for this course.Cancel
Take notes with your new membership!
Type in the entry box, then click Enter to save your note.
1:30Press on any video thumbnail to jump immediately to the timecode shown.
Notes are saved with you account but can also be exported as plain text, MS Word, PDF, Google Doc, or Evernote.