We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DBInitializer
AUTO_INCREMENT
Fixture
ID
Repository
INSERT (ID = 1) -> INSERT (ID = 2)
INSERT
ID=3
ID=1
첫번째로 넣었으니 ID가 1이 겠지?
E2ETest
회원가입-로그인-팔로우-프로필조회
RepositoryTest
The text was updated successfully, but these errors were encountered:
hyukji
vectorch9
No branches or pull requests
📣버그에 대한 설명 및 재현 방법
DBInitializer
사용 시AUTO_INCREMENT
에 의한 오류 발생Fixture
에서 미리 정의해 둔ID
를 사용했기 때문에 발생함.Repository
를 모킹하는 경우, 즉 실제 DB엔 저장하지 않는 경우에만 사용하라고 작성해놓은 것임. (작성할때 의도는 이랬는데 이후에 나도 대충 되겠지 하며 가져다 쓰긴 했다..)AUTO_INCREMENT
는 별도의 카운터를 유지하여 증가함을 보장함.INSERT (ID = 1) -> INSERT (ID = 2)
이후 커밋하지 않더라도 Tx2에서INSERT
를 수행하면ID=3
이 된다. 이후 Tx1이 롤백을 하더라도 Tx2는 그대로ID=3
인 값이 유지되고 카운터도 그대로 유지된다.INSERT
하더라도ID=1
임이 보장되지 않는 것임첫번째로 넣었으니 ID가 1이 겠지?
라는 전제가 들어가므로 에러가 발생하던 것✨개선 계획
E2ETest
에선DBInitializer
가 아닌Repository
를 사용하도록 변경Repository
를 통해 직접 데이터를 입력하는 것이 아닌, 처음부터 각 요청을 보낼 것회원가입-로그인-팔로우-프로필조회
의 형식으로 시나리오 형태가 되어야 된다 생각함RepositoryTest
에선 무조건Repository
사용The text was updated successfully, but these errors were encountered: