멘토링 이후 결론과 챙길 것을 정리하여 업데이트합니다.
멘토링 24시간 전에 준비하여 멘토에게 공유합니다.
멘토의 조언이 필요한 부분을 질문으로 정리합니다.
db test, 배포 관련 질문 (동훈)
- name: BE 테스트 코드 실행 (unit test)
working-directory: ./BE
run: npm run test
- name: BE 테스트 코드 실행2 (e2e test)
working-directory: ./BE
run: npm run test:e2e
beforeAll(async () => {
const module: TestingModule = await Test.createTestingModule({
imports: [
ConfigModule.forRoot({
envFilePath: '../.env',
isGlobal: true
}),
TypeOrmModule.forRoot({
type: 'mysql',
host: process.env.DB_HOST || 'localhost',
port: +process.env.DB_PORT || 3306,
username: process.env.DB_USER,
password: process.env.DB_PASSWD,
database: process.env.DB_NAME,
entities: [QuizSetModel, QuizModel, QuizChoiceModel, UserModel, UserQuizArchiveModel],
synchronize: process.env.DEV ? true : false, // 개발 모드에서만 활성화
logging: true, // 모든 쿼리 로깅
logger: 'advanced-console'
}),
TypeOrmModule.forFeature([QuizSetModel, QuizModel, QuizChoiceModel])
],
providers: [QuizService]
}).compile();
# .github/workflows/test.yml
name: Node.js CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
services:
postgres:
image: postgres:13
env:
POSTGRES_USER: test
POSTGRES_PASSWORD: test
POSTGRES_DB: test
ports:
- 5432:5432
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Create test env file
run: |
echo "DB_HOST=localhost" >> .env.test
echo "DB_PORT=5432" >> .env.test
echo "DB_USERNAME=test" >> .env.test
echo "DB_PASSWORD=test" >> .env.test
echo "DB_DATABASE=test" >> .env.test
- name: Run tests
run: npm test
멘토가 일지를 보고 멘토링을 준비할 수 있도록, 팀의 진행상황과 참고 자료를 정리해서 넣어주세요.
멘토링을 진행하며 나눈 이야기가 휘발되지 않게 기록해보세요.