gpt4 book ai didi

autofixture - 如何卡住 AutoFixture 中的空实例

转载 作者:行者123 更新时间:2023-12-02 21:50:27 27 4
gpt4 key购买 nike

我使用 Autofixture 作为 SUT 工厂,但在卡住空实例时遇到困难。

我想做这样的事情:

_fixture.Freeze<IPayPalConfiguration>(c => null);

但很快就意识到这是错误的。我已经用这个解决了这个问题:

_fixture.Inject((IMyInterface)null);

但是好像不太对劲。

希望有人能为 HiveMind 贡献正确的解决方案。

最佳答案

内部,Freeze创建请求类型的实例(例如 IPayPalConfiguration ),然后注入(inject)它,这样当您再次请求它时,它总是返回该实例。

在这种特殊情况下,通过执行_fixture.Inject((IPayPalConfiguration)null)您手动注入(inject)空引用,以便跳过 Freeze 的创建部分方法。您卡住IPayPalConfiguration为单个值(实际上,此处为空引用),但以手动方式。

请记住,这个 _fixture.Freeze<IPayPalConfiguration>(c => null)为尝试解析 IPayPalConfiguration方法传递一个空引用因此会抛出 ArgumentNullException。

关于autofixture - 如何卡住 AutoFixture 中的空实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12218206/

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