A clip of me trying stuff out:
cypress10.mov
This course was created by Blazemeter University. I stumbled upon this course when browsing resources to learn and practise Cypress.
- Instructor: Gleb Bahmutov, Ph.D.
- Course Format:
- Textual and video learning components
- Six knowledge checks
- Exam (requires score of 80% or higher).
- Product under test: React Sudoku game created by Amith Raravi (repo and live game demo)
Course content:
- Set up Cypress and debug web apps, using capabilities such as time travel and real-time reload
- Controlling the page clock
- Network stubbing
- Screenshots of test failures
- Best practices for working with Cypress
- Setup: install cypress for a project (--save-dev)
- E2E testing intro: check for h1 and h2 text with contains
- Sudoku timer feature: configure timeout for a command, js for loop used in a test
- Sudoku hint feature: .should(), .not, .each, .click
- Sudoku play modes: alias, length, select, get by multiple classes
- Clock: clock(), tick()
- Optimizing sudoku app start using start-server-and-test
- Continuous integration: GitHub Actions
- Deterministic tests: fixtures and modifying app code
- Component testing: imports, cy.mount and change viewport height/width
- Stub: cy.stub(), 'have.been.calledOnce', alias with HTML
- Mount: cy.mount in the context of a React object
- Viewport: cypress.config, log event args, assert value should equal
- Screenshot: cy.screenshot, checking to see if input is 'checked'
- Overlay: check the 'You solved it!' overlay
- CI and component testing: adding component tests to GitHub actions
- Top-level component: testing the Game component
- Context provider: controlling data and using stubs (STUCK HERE, DNF for now due to insufficient knowledge on React and js/ts/jsx/tsx). Moving on to get a solid grounding in js in another project
- Timer component testing
- Refactoring
- Test-driven development
- Intercept configuration
- Network call
- Watch-and-reload plugin
- Wrap-up
- Exam
Total estimated duration (course videos): 2 hours 15 minutes