Service Layer End-to-End (E2E) Visual Regression Integration Component Types of tests Frontend Unit Tests Backend Unit Tests API Tests @amirrustam Testable App Layers
Service Layer End-to-End (E2E) Visual Regression Integration Component Types of tests Frontend Unit Tests Backend Unit Tests API Tests @amirrustam Testable App Layers
Debugging Experience 02 No introspection into the visual nature of components. Development Experience 03 Can’t see the full extend of changes as you are iterating. Issues with Status Quo of Component Testing
command cy.focused() // command .should('have.class', 'new-todo') // assertion cy.get('.new-todo') // command .type('todo A{enter}') // command .type('todo B{enter}') // command cy.get('.todo-list li') // command .should('have.length', 2) // assertion } ) All commands run in the exact order they are declared. The Cypress API is more declarative than imperative.
JSON { "retries": { // Configure retry attempts for `cypress run ` // Default is 0 "runMode": 2 , // Configure retry attempts for `cypress open ` // Default is 0 "openMode": 0 } } { “retries”: 0 } Configuration for each mode Configuration for all modes
describe('User sign-up and login', () => { it ( 'allows user to login' , { retries: { runMode: 2 , openMode: 1 , } , } , () => { // .. . } ) } ) describe('User bank accounts', { retries: { runMode: 2 , openMode: 1 , } }, () => { it('allows a user to view their transactions', () => { // ... } it('allows a user to edit their transactions', () => { // ... } } ) Configuration for a test Configuration for a suite