gpt4 book ai didi

Sinon 创建 stub 实例 - 包括 protected 属性

转载 作者:行者123 更新时间:2023-12-04 17:40:21 26 4
gpt4 key购买 nike

我的问题是如何在创建 stub 实例时包含 protected 属性。

在我的笑话测试中我有:

const sandbox = createSandbox();
let manager: SinonStubbedInstance<EntityManager>;
let repo: Repo;

beforeEach(() => {
manager = sandbox.createStubInstance(EntityManager);
repo = new Repo(manager);
});

afterEach(() => sandbox.restore());

正在尝试制作 stub :

export declare class EntityManager {

/**
* Connection used by this entity manager.
*/
readonly connection: Connection;

/**
* Custom query runner to be used for operations in this entity manager.
* Used only in non-global entity manager.
*/
readonly queryRunner?: QueryRunner;

/**
* Once created and then reused by en repositories.
*/
protected repositories: Repository<any>[];

/**
* Plain to object transformer used in create and merge operations.
*/
.......
}

所以我似乎无法在 stub 中包含只读属性和 protected 属性。

在“repo = new Repo(manager);”线。上面的代码会产生以下异常:

Argument of type 'SinonStubbedInstance<EntityManager>' is not assignable to parameter of type 'EntityManager'.
Property 'repositories' is missing in type 'SinonStubbedInstance<EntityManager>'.ts(2345)

有没有办法告诉诗乃包含这些属性?任何帮助将不胜感激。

最佳答案

我用

解决了这个问题
repo = new Repo(manager as any);

关于Sinon 创建 stub 实例 - 包括 protected 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54783567/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com