Course Intro
  • Course overview
  • Why unit testing? why jasmine?
  • Important javascript notes!
  • Download exercise files
  • Creating your first test
  • Section summary
  • Section notes
Jasmine functions
  • Section intro
  • Course project
  • Let's build it!
  • Programing the UI
  • Improving errors
  • Styling the UI (optional lecture)
  • Setting up jasmine
  • Suites
  • Specs
  • Expectations
  • Disabled specs and disabled suites
  • Section summary
  • Section notes
Matchers
  • Section intro
  • What is a matcher
  • toBe
  • toEqual
  • toBeTruthy, toBeFalsy
  • Negating matchers
  • toBeDefined, toBeUndefined
  • toBeNull
  • toContain
  • toBeNaN
  • toThrow, toThrowError
  • toMatch
  • Other matchers
  • Match anything
  • Custom matchers
  • Update on third party matchers! Read before the next lecture.
  • Third party matchers
  • Section summary
  • Section notes
Organizing your specs
  • Section intro
  • Recommendations to organize our specs
  • Nesting suites
  • Setup and teardown
  • beforeEach, afterEach
  • beforeAll, afterAll
  • Jasmine and the [this] keyword
  • Section summary
  • Section notes
Spying on your code (stubs / test doubles)
  • Section intro
  • Jasmine spies
  • Spying on functions
  • toHaveBeenCalled
  • toHaveBeenCalledWith
  • toHaveBeenCalledTimes
  • Spying on prototypes
  • callThrough
  • callFake
  • returnValue
  • returnValues
  • Spy and throwError
  • Using getters
  • spyOnProperty
  • Section summary
  • Section notes
Testing asynchronous code
  • Section intro
  • Using promises
  • The done callback
  • Your turn! (spec exercise)
  • showVersion() spec solution
  • Async and await with specs
  • Section summary
  • Section notes
Test reports and continuous integration (CI)
  • Section intro
  • The package.json
  • Installing dependencies
  • Karma runner
  • Headless browser
  • Coverage reports
  • Pushing to version control
  • Connecting to CI system
  • Configuring build
  • Build badge
  • Section summary
  • Section notes
Extras
  • What's next!
  • Bonus!