Cypress로 Laravel Breeze 인증 테스트
전체 예제를 사용하려면 Laracast/Cypress package 을 사용해야 합니다.
다음은 로그인 예입니다.
Laravel의 기본 사용자 팩토리는 팩토리에서 생성된 사용자 비밀번호를 "password"로 설정한다는 점에 유의하십시오.
describe('Authentication test', () => {
it('tests a success manual authentication with the login form', () => {
cy.visit(`/login`);
cy.php(`
App\\Models\\User::factory()->create(['email', '[email protected]']);
`).then(user => {
cy.get('input[type="email"]').type(user.email);
cy.get('input[type="password"]').type('password');
});
cy.get('button[type="submit"]').click();
cy.location('pathname').should('equal', '/dashboard');
});
});
몇 가지 흥미로운 아이디어는 다음과 같습니다.
http 상태 코드 테스트
cy.request('http://localhost:8000/dashboard').then((response) => expect(response.status).to.eq(200));
미들웨어 테스트
// visit a url
cy.visit('http://localhost:8000/dashboard');
// check the next url location
cy.url().should('match', /login);
때로는 로그아웃과 같은 더 큰 워크플로를 테스트한 다음 일부 미들웨어가 작동하는지 확인해야 합니다...
cy.visit('/logout') // I got you cover, it would do the magic
일부 콘텐츠 확인
/dashboard
url에서 환영 메시지와 같은 것을 테스트할 수 있다는 말로 이스케이프될 수 있는 텍스트 테스트를 피해야 한다는 점을 명심하십시오.cy.contains('Welcome');
또는 더 나은 방법은 PHP 방법이나 로그인 도우미를 사용하여 현재 사용자 환영 메시지를 정확하게 테스트하는 것입니다.
cy.login({ email: '[email protected]', name: 'John Doe' });
cy.visit('/dashboard').contains('Welcome Back, John Doe');
이 작은 예제가 응용 프로그램에 대한 자체 테스트를 만드는 데 충분한 지침을 제공하는 데 도움이 되기를 바랍니다.
Reference
이 문제에 관하여(Cypress로 Laravel Breeze 인증 테스트), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/arielmejiadev/test-laravel-breeze-authentication-with-cypress-18fa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)