혹시 서비스를 테스트할 때 매번 로그인하고 같은 동작을 하기 귀찮지 않으신가요? 이런 귀찮음을 해결해줄 수 있는 테스팅 툴이 있어서 공유하고자 합니다.
cypress 라는 서비스 입니다. 코드로 유저 인터렉션을 시뮬레이션할 수 있고 그 결과 화면까지 실시간으로 볼 수 있습니다. 좀 더 느낌이 올 수 있도록 테스트 케이스 하나를 가져와보았습니다.
describe('User login successfully', function() {
it('should visit overview page when email and password is valid', function() {
cy.visit('/');
cy.get('input[name="email"]')
.type('user@gmail.com);
cy.get('input[name="password"]')
.type('password');
cy.contains("Log In")
.click();
cy.url().should('include', '/overview');
})
});
코드로 로그인 폼에 정보를 입력하고 버튼을 누르면 다음화면으로 넘어가는지를 체크하는 테스트 케이스입니다.
이렇게 유저 스토리 별로 테스트 케이스를 짜놓았을 때의 장점은 어떤 코드를 바꿨을 때 다른 페이지들이 깨지지는 않는지, 바꾼 코드의 페이지가 제대로 동작하는지 손수 버튼을 눌러보면서 테스트 하는게 아니라 단순히 테스트 케이스를 돌리면 제대로 동작하는지를 바로 확인할 수 있습니다.
혹시 서비스를 테스트할 때 매번 로그인하고 같은 동작을 하기 귀찮지 않으신가요? 이런 귀찮음을 해결해줄 수 있는 테스팅 툴이 있어서 공유하고자 합니다.
cypress 라는 서비스 입니다. 코드로 유저 인터렉션을 시뮬레이션할 수 있고 그 결과 화면까지 실시간으로 볼 수 있습니다. 좀 더 느낌이 올 수 있도록 테스트 케이스 하나를 가져와보았습니다.
코드로 로그인 폼에 정보를 입력하고 버튼을 누르면 다음화면으로 넘어가는지를 체크하는 테스트 케이스입니다.
이렇게 유저 스토리 별로 테스트 케이스를 짜놓았을 때의 장점은 어떤 코드를 바꿨을 때 다른 페이지들이 깨지지는 않는지, 바꾼 코드의 페이지가 제대로 동작하는지 손수 버튼을 눌러보면서 테스트 하는게 아니라 단순히 테스트 케이스를 돌리면 제대로 동작하는지를 바로 확인할 수 있습니다.