test 관련 질문드립니다!
258
작성한 질문수 4
안녕하세요 제로초님! test관련 질문이 있어서 질문글 남깁니다 :)
아래와 같이 따로 Repository provider를 만들고
export const userProviders = [
{
provide: USER_REPOSITORY,
useFactory: (dataSource: DataSource) => dataSource.getRepository(User),
inject: [APP_DATABASE],
},
];
Service에서 아래와 같이 @InjectRepository가 아니라 @Inject로 생성자를 구성했습니다. (USER_REPOSITORY는 따로 constants.ts파일을 만들어두었습니다.
@Injectable()
export class UserService {
constructor(
@Inject(USER_REPOSITORY)
private userRepository: Repository<User>,
) {}
. . .
이후 Service 파일의 테스트 코드를 작성하는데 모킹이 안돼서 질문을 남기게 되었습니다.
. . .
providers: [
UserService,
{
provide: getRepositoryToken(User),
useValue: mockUserRepository,
},
],
. . .
위와 같이 모킹했는데, 아래와 같은 오류가 떴습니다. ㅜㅜ
Nest can't resolve dependencies of the UserService (?). Please make sure that the argument USER_REPOSITORY at index [0] is available in the RootTestModule context.
Potential solutions:
- If USER_REPOSITORY is a provider, is it part of the current RootTestModule?
- If USER_REPOSITORY is exported from a separate @Module, is that module imported within RootTestModule?
@Module({
imports: [ /* the Module containing USER_REPOSITORY */ ]
})
at TestingInjector.lookupComponentInParentModules (../node_modules/@nestjs/core/injector/injector.js:231:19)
at TestingInjector.resolveComponentInstance (../node_modules/@nestjs/core/injector/injector.js:184:33)
at TestingInjector.resolveComponentInstance (../node_modules/@nestjs/testing/testing-injector.js:16:45)
at resolveParam (../node_modules/@nestjs/core/injector/injector.js:106:38)
at async Promise.all (index 0)
at TestingInjector.resolveConstructorParams (../node_modules/@nestjs/core/injector/injector.js:121:27)
at TestingInjector.loadInstance (../node_modules/@nestjs/core/injector/injector.js:52:9)
at TestingInjector.loadProvider (../node_modules/@nestjs/core/injector/injector.js:74:9)
at async Promise.all (index 3)
답변 1
0
저 방식은 완전 원초적인 DB 주입 방식입니다. 기존 제 방식을 쓰시는 것을 추천드리고요. getRepositoryToken도 제 방식에서만 돌아갑니다.
provide: USER_REPOSITORY 하면 되지 않을까싶긴 합니다. 이 값이 @Inject랑 일치해야 하거든요.
강의자료는 어디서 다운받나요?
0
145
4
질문 있습니다.
0
320
3
코드 편집기 확장 프로그램
0
220
2
(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?
0
165
2
(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문
0
179
3
로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.
0
163
2
로그인방법이 고민됩니다.
0
197
2
yarn seed 명령어 실행 시 데이터 삽입 안됨
0
305
4
yarn run db:create 시에 발생하는 데코레이터 오류
0
249
2
npm run db:create 시에 발생하는 decorating 오류
0
245
2
RxJS 디버깅 질문 있습니다.
0
201
3
CacheManager에 대해 질문 있습니다.
0
185
2
로깅은 어떻게 하는게 효율적일까요?
0
240
1
CORS 질문 있습니다.
0
428
2
쿠키 옵션에 대해서 질문 있습니다.
0
190
2
로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??
0
458
1
401 unauthorized문제
0
306
1
가드의 장점에 대해서 질문이 있습니다.
0
234
1
로그 관리에 대해 질문 있습니다.
0
256
2
CORS 에러 질문 있습니다.
0
329
2
배포 환경 DB 연결 질문 있습니다.
0
418
2
socket io 미 연결 문제 (nest & flutter)
1
1169
3
no elements in sequence 에러 관해서 질문이 있습니다.
0
466
1
start:dev-backup으로 돌리면 핫 리로딩이 되요 정상인가요?
0
327
1





