흔한 씹타트업 좆소에서 일하는중입니다...

어쩌다보니 개발하는거에 e2e 테스트를 도입하게'됬'는데 사실 해본사람도 없고 그럴 능력도 없는것들이라

도입하면서 여러가지 문제가 많이 생기고잏읍니다...


먼저 제가 생각하는 e2e 테슨트의 목적은 개발을 하다보면 기존 내용이 업데이트 되었을때

업데이트한 부분을 끌어다 쓰고있는 다른 어느곳에서 분명이 문제가 발생할수있기때문에

그걸 찾아내고 방지하고자 하는 목적에서 모든 테스트를 자동화 하는걸로 알고잏읍ㅂ니다....


사실 이전까지는 새로운걸 추가하고나면 스웨거 작성걸로 하나하나

직접 리퀘슨트 날리고 테스트하는 방식으로 진행했습니다...

현재 테스트 코드 실행 환경은 각자의 로컬db 스키마 업데이트하고 기능 만들고 로컬db를 기준으로 e2e 테스트를 실행하고있습니다


아무튼 잡소리는 그만하고...

e2e 테스트를 진행할때 생성,수정,삭제등 기능을 전부 테스트를 해야하는데

문제는 생성 테스트를 하려면 먼저 해당 개체에 연결된 다른 데이터들이 미리 생성되있어야하는 겁니다...

a 라는걸 생성하기 위해 b c d 이런 것들도 만들어야한다는건데

그래서 제가 작성한 테스트코드를 실행하기 위해서 제 로컬db에는 필수 데이터들을 미리 생성해놓고

테스트를 실행할수가 잏읍니다...

문제는 배포할때나 다른사람 자리에서 테스트를 실행하려면 db에 필수 데이터가 없기때문에 실행을 할수가없다는겁니다

이는 다람사람들 입장에서도 마찬가지 입니다

다른 직원이 본인 자리에서 로컬db로 테스트 통과하는데 마찬가지로 제 자리에선 실행이 불가능합니다


그렇다고 테스트 전용 db를 따로 만들고 거기서 테스트를 하자니

현재 orm을 사용중인데 새로운걸 추가하다보면 각각 직원마다 스키마가 전부 다르다는겁니다

얘를들어 저랑 A 라는 직원이 서로 다른 새로운 기능을 개발하면서 새로운 스키마가 추가되었습니다

근데 제가 먼저 테스트한다고 테스트 db에 스키마를 업뎃하고

나중에 A가 본인이 완성한거 테스트한다고 본인 스키마를 업뎃하면

제가 먼저 적용시켜놨던게 사라지는 그러한 문제도 있습니다.


이런 테스트에 필요한 db 데이터 관련 문제때문에 사실쌍

현재는 각자 로컬에서만 e2e 테스트 실행하고 어? 통과했네? 그럼끝 ㅇ 이렇게 하고있읍니다...

e2e 테스트의 본질자체를 잃어버린,

어짜피 스웨거로 전부 각자 테스트하고 그걸또 본인 로컬에서만 통과하는 e2e 테스트 코드 작성해서 실행 시키는

쓸데없는 좆병신같은 짓을 하고있는 상황입니다...


어떻게 해야 이런 문제를 해결할수있을까요?