javascript - 如何编写测试,而不用在 nestjs 中模拟存储库
问题描述
我已经开始做一个小项目,我现在正在为这个项目编写测试,但我现在面临的问题与注入存储库有关。我在 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()
,并且它引发错误的原因是因为文件存储库没有任何其他存储库应该具有的方法。
我会很感激任何帮助,谢谢。
解决方案
如果你想使用Repository
你应该使用useClass
而不是useValue
. 您可以在这个 GitHub 存储库中看到几个 Repository 模拟示例
推荐阅读
- javascript - 多个链接将参数传递给同一路由
- java - Spring Boot java.util.concurrent.ThreadPoolExecutor 大小
- javascript - Javascript将数组转换为对象数组
- amazon-web-services - 从 Airflow Celery Executor 连接到启用 TLS 的 Elasticache Redis
- python - Python任何和in和for循环的时间复杂度
- java - 如何在Java中将有理数转换为具有特定小数位数的字符串?
- php - 如何将数组与另一个数组相加以在 PHP 中创建多维数组?
- excel - 如何识别新客户/回头客
- halcon - HALCON 警告中 HAND-EYE 校准中的姿势对不一致
- wix - Wix 工具集 Bundle Chain 安装全局条件