首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在AutoFixture中冻结空实例

如何在AutoFixture中冻结空实例
EN

Stack Overflow用户
提问于 2012-08-31 23:16:10
回答 1查看 695关注 0票数 8

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

我想做一些类似的事情:

代码语言:javascript
复制
_fixture.Freeze<IPayPalConfiguration>(c => null);

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

代码语言:javascript
复制
_fixture.Inject((IMyInterface)null);

但这看起来不太对。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-01 00:37:23

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

在这种情况下,通过执行_fixture.Inject((IPayPalConfiguration)null)可以手动注入空引用,因此可以跳过Freeze方法的创建部分。您以手动方式将IPayPalConfiguration冻结为单个值(实际上,此处为空引用)。

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

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12218206

复制
相关文章

相似问题

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