오늘은 주말 동안 작업한 인수테스트 시나리오를 바탕으로 리액트 애플리케이션을 생성한 후 E2E 테스트에 codeceptjs 를 적용했다.
codeceptjs 를 사용하는 이유는 다음과 같다.
- 단위 테스트만으로는 시스템이 올바르게 동작하는지 알기 힘들다.
- 사용자가 유용하게 사용할 수 있는지 미리 정의하는 것도 쉽지 않다.
- 사용자와 소통하기 위한 교차점이 없다. 그렇기 때문에 인수테스트를 적용한다.
codeceptjs 는 javaScript를 DSL(Domain Specific Language: 도메인 특화 언어) 처럼 활용하고 있기 때문에 프로그래머가 아니라도 작성 또는 검토가 가능하다.
아래는 작성한 시나리오 중 가져온 일부 코드인데, 이렇게 작성하게 되면 어떠한 상황이 벌어지고 있는 지 개발자가 아니더라도 명확히 알 수 있다.
Scenario('로그인시 모든 정보를 올바르게 입력한 경우', ({ I }) => {
// When
I.amOnPage('/login');
I.fillField('input[name=userId]', 'Test1');
I.fillField('input[name=password]', 'Testing1!');
I.click('로그인');
// then
I.see('내 잔액');
I.see('로그아웃');
});
오늘 안에 모든 시나리오를 작성하고 내일은 바로 API 설계와 프론트 일부 구현에 들어가야 한다. 레벨 테스트로 2주간의 시간이 주어졌지만 일주일밖에 시간이 없다고 생각하고 작업에 임할 생각이다. 그래서 빨리 끝내게 되면 그동안 미뤄두었던 개념 복기나 책 읽기에 들어가고 싶은데, 가능한 플랜인지는 모르겠지만,, 가능하게 만들면 된다!
참고 :
https://github.com/ahastudio/til/blob/main/test/20201207-codeceptjs.md
GitHub - ahastudio/til: Today I Learned
Today I Learned. Contribute to ahastudio/til development by creating an account on GitHub.
github.com
'TIL' 카테고리의 다른 글
레벨 테스트 작업 로그 #3 - 데이터 크롤링, MSW 라이브러리, Backdoor api (22.11.30 TIL) (0) | 2022.11.30 |
---|---|
레벨 테스트 작업 로그 #2 - 생산성 높이기 (22.11.29 TIL) (0) | 2022.11.29 |
건강 관리도 프로 답게 (22.10.15 TIL) (1) | 2022.11.28 |
자바스크립트 == vs === (22.10.16 TIL) (0) | 2022.11.28 |
인수 테스트 작성하기 (22.11.27 TIL) (0) | 2022.11.27 |
댓글