首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >环回-4模拟注入

环回-4模拟注入
EN

Stack Overflow用户
提问于 2019-09-16 03:25:54
回答 1查看 340关注 0票数 1

我正在使用循环-4,寻找帮助来模拟在类级别上声明的@inject。

请在下面找到代码.

代码语言:javascript
复制
import { repository } from '@loopback/repository';
import { AddressRepository } from './address.repository';
import { Address } from './address.db.model';

export class AddressService {
    @repository(AddressRepository) private addressRepo: AddressRepository;

    async getAddresses(): Promise<Address[]> {
      return this.addressRepo.find();
    }
}

我试图通过@loopback/testlab.StubbedInstanceWithSinonAccessor进行模拟,但它不起作用,因为我没有使用构造函数注入。尝试了用下面的方法,但它不允许。

代码语言:javascript
复制
let addressRepo: StubbedInstanceWithSinonAccessor<AddressRepository>;
const addressService = new AddressService(addressRepo);

有人能帮助模拟未在构造函数级别声明的@injector吗?

提前谢谢你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-04 15:22:31

由于依赖项被声明为属性,因此需要通过属性设置器提供存根实现。

  1. 将属性设置为public,以便可以从外部更改属性。 导出类AddressService {@存储库(AddressRepository)公共addressRepo: AddressRepository;// .}
  2. 在测试中使用常规属性设置器。 设addressRepo: StubbedInstanceWithSinonAccessor;const addressService =新AddressService();addressService.addressRepo = addressRepo;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57950017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档