본문 바로가기

분류 전체보기167

S3 쉘스크립트 만들기 이유 : 모바일 라이브러리를 CI/CD를 구축하는 과정에서 unityframework.framework를 S3에서 다운로드 받고 unityframework.framework를 감싼 회사 framework를 압축후 S3에 업로드 해야하는 업무가 주어졌다. 차후에 어떤 CI/CD Tool를 정해지지 않는 사항에서 즉각적으로 적용할수 있고, 다른 개발자도 손쉽게 사용 할수 있는 방법을 강구 하던중 쉘스크립트 제작을 선택하게 되었다. 제작 과정 : 1 차 시도 curl 명령을 사용해서 요청하기 S3 버킷 정책이 public일 경우 upload, download 문제가 없었지만 사용자별로 읽기, 쓰기, 삭제 권한을 부여 해서 관리할 경우 aws4-hmac-sha256 형식을 맞춰야 했고 공식문서에도 curl 관련.. 2023. 4. 5.
Testing - End-to-End end-to-end(E2E) 테스트란? 사용자 관점으로 디바이스를 사용해서 (또는 시뮬레이터, 에뮬레이터) app 예측대로 잘 작동하는지 확인하는 작업이다. 이 작업은 release 형태로 앱을 빌드하고 이것에 대한 테스트를 실행하여 수행된다. E2E 테스트 에서는 더이상 React components, React Native APIs, Redux stores or any business logic. 대해 생각할 필요가 없다. React components, React Native APIs, Redux stores or any business logic 는 E2E 테스트에 대한 목적이 아니다. 그리고 E2E 테스팅으로 접근 조차 불가능 하다. 대신에 너의 app의 스크린에서 element를 찾거나 제어가.. 2023. 2. 8.
Testing - 컴포넌트 테스트 React 컴포넌트는 app redering이 담당한다. 그리고 사용자가 직접적으로 React 컴포넌트의 산출물과 상호작용한다. 앱의 비즈니스 로직이 테스트 범위가 높고 정확한 경우 컴포넌트 테스트 없이도 사용자 UI가 손상될 수 있습니다. 컴포넌트 테스트는 단위와 통합 텓스트 모두에 해당 될수 있지만, React Native의 핵심 부분이기 때문에 별도로 다뤄야 한다. react component를 테스트하기 위해 다음 두 가지를 테스트할 수 있습니다 1. 상호작용(Interaction) : 사용자와 상호 작용할 때(예: 사용자가 버튼을 누를 때) component가 올바르게 작동하는지 확인한다. 2. 렌더링(Rendering) : React에서 사용하는 component 렌더 출력이 올바른지 확인합니.. 2023. 2. 6.
Testing - 통합 테스트 더 큰 소프트웨어 시스템을 작성할 때, 개별 소프트웨어 시스템은 서로 상호 작용해야 한다. 단위(unit) 테스트에서 단위(unit)가 다른 장치에 의존하는 경우, 때때로 장치를 가짜 장치로 대체하여 mocking사용하게 된다. 통합테스팅 실제 개별 장치는 결합되고(앱에서와 같이) 테스트되어 협력이 예상대로 작동하는지 확인한다. mocking 필요하지 않다는 말이 아니다. 오히려 단위 테스트보다 많이 필요하다. !!주의 통합 테스트가 항상 일관된 결과를 가져오지 않는다. 아래와 같은 이유 때문에 1. 외부 시스템을 사용 2. 다른 어플리케이션으로 네트워트 요청시 (날씨 서비스 api) 3. 모든 종류의 파일 또는 데이터베이스 입출력 실행 2023. 2. 6.