mysql sqlLight 을 사용해서 테스트 환경을 만들자
— MYSQL, SQLITE, 2021 — 2 min read
배경
1.서비스코드의 testcase 를 추가하고 싶다. 2.테스트 케이스 환경을 구성해야 한다 3.db 는 SQLITE 을 쓰기로 했다.
SQLITE 은 뭐지?
별도 관리가 필요 없는 메모리 데이터베이스 = sqlite SQLite는 MySQL나 PostgreSQL와 같은 데이터베이스 관리 시스템이지만, 서버가 아니라 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스 Windows 환경에서 go-sqlite3 를 사용하기 위해 설치한다.
YML 파일 ?
메모리 DB에 입력할 데이터를 YML파일을 통해 입력합니다.
YML 파일은 어디에 > (경로)
go 에서는 testdata 디렉토리와 _test 로 끝나는 파일은 빌드에서 제외됩니다. testdata 디렉토리를 생성하고 yml 파일을 생성했다.
YML 데이터 입력 방법
중요
yml을 작성할 때 작성법을 따르지 않는다면 테스트를 제대로 진행 할 수 없습니다.
- yml은 DB의 TABLE환경과 똑같이 설정한다.(필수값만 입력하기)
- user_no: 1 id: "super@w.org" company_id: 1 password: $2a$0d1S4JStXW name: "수퍼담당자" status: "Approval" mobile: uvbANnupYDSrkys= infomation_use_agree: 1 infomation_receiving_agree: 1 created_at: RAW=datetime('now') updated_by: "1" updated_at: RAW=datetime('now')
- JSON형태의 값은 한줄로 작성한다.
business_areas: { "child": true, "youth": true, "senior": true, "disabled": true, "women": true, "family": true, "community": true, "internationalDevelopment": true, "environment": true, "notApplicable": true}
- 암호화된 값은 암호화된 키를 작성한다.