【问题标题】:FakeItEasy - faking assignmentFakeItEasy - 伪造作业
【发布时间】:2017-07-06 12:38:23
【问题描述】:

我有一些代码,其中我有一个假的配置根。我想检查是否调用了设置配置值。

var fakeConfigRoot = A.Fake<IConfigurationRoot>();

//Do something that will set config item

//A call to set the config must have happened

有可能使用伪造获取配置项

 A.CallTo(() => fakeConfigRoot["TestConfigItem"]).MustHaveHappened(Repeated.Exactly.Once);

我想知道是否可以使用 FakeItEasy 来伪造配置项的分配,如果可以,如何。如果不可能,任何人都可以想到任何解决方法。

【问题讨论】:

    标签: c# unit-testing configuration fakeiteasy


    【解决方案1】:

    您想使用A.CallToSetspecify a call to a property setter。示例没有显示它,但该语法也适用于索引器。试试这个:

    var fakeConfigRoot = A.Fake<IConfigurationRoot>();
    
    fakeConfigRoot["animal"] = "hippo";
    
    A.CallToSet(() => fakeConfigRoot["animal"]).MustHaveHappened(Repeated.Exactly.Once);
    

    【讨论】:

    • 非常感谢我正在寻找的东西。
    • 我很高兴答案有所帮助。而且这个功能实现起来也很有趣!
    • 如此简单的痛苦,容易过度思考这一点。谢谢老兄。
    最近更新 更多