문제 발생
describe('readhighlights', () => {
it('should return two highlights', async () => {
const result = await service.readhighlights(1, 1, 'test');
expect(result.length).toEqual(2);
});
});
해당 테스트 코드를 작성하고, npm run test:watch 진행
에러 : Model not initialized: Member "findOne" cannot be called. "User" needs to be added to a Sequelize instance.
시도
“Model not initialized: Member "findOne" cannot be called.” Code Answer 참고하여
import { User } from './user/user.model';
import { Sequelize } from 'sequelize-typescript';
const sequelize = new Sequelize({...});
sequelize.addModels([User]);
테스트 파일 상단에 해당 코드를 추가 했으니, {...} 부분 에러뜸
해결
아마 {...} 부분을 채워넣어야 하는 것으로 보임
Sequelize 'Dialect needs to be explicitly supplied as of v4.0.0' 참고하여
import { User } from './user/user.model';
import { Highlight } from './highlight/highlight.model';
import { Theme } from './theme/theme.model';
import { Sequelize } from 'sequelize-typescript';
const sequelize = new Sequelize('liner_nest', 'root', null, {
host: 'localhost',
dialect: 'mysql',
});
sequelize.addModels([User, Highlight, Theme]);
내용 채우고, 데이터베이스모델들 가져오니까 잘 돌아감