Как написать тест, не высмеивая репозиторий в nestjs - PullRequest
0 голосов
/ 20 июня 2020

Я начал работать над небольшим проектом, и сейчас я пишу тесты для этого проекта. Но проблема, с которой я столкнулся, связана с внедрением репозитория. У меня есть следующий код в функции beforeEach

const moduleFixture = await Test.createTestingModule({
            controllers:[CustomersController],
            providers:[
                CustomersService,
                {
                    provide: getRepositoryToken(File),
                    useValue: Repository
                },
            ]
        }).compile();

И у меня есть тест, который он вызывает конечную точку. Теперь каждый раз, когда я запускаю тесты, появляется эта ошибка

Cannot read property 'find' of undefined

И это очевидно, потому что у меня есть код в моем классе CustomerService, this.fileRepository.find(), и причина, по которой он выдает ошибку, потому что в репозитории файлов нет методов, которые должны быть в любом другом репозитории. enter image description here

Буду признателен за любую помощь, спасибо.

1 Ответ

1 голос
/ 20 июня 2020

Если вы хотите использовать Repository, вы должны использовать useClass вместо useValue. Вы можете увидеть несколько примеров имитации репозитория в этом репозитории GitHub

...