首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JustMock将按顺序ReturnsMany返回

JustMock将按顺序ReturnsMany返回
EN

Stack Overflow用户
提问于 2020-06-07 01:23:05
回答 1查看 39关注 0票数 0

我正在安排对单元测试中方法的调用,如下所示

代码语言:javascript
复制
container.Arrange(p=> p.doSomething(Arg.AnyString, Arg.AnyString)).ReturnsMany(1, 2);

是始终按顺序返回1和2,还是需要InSequence()链?

ReturnsMany是按顺序返回值还是需要显式InSequence?

文档:https://docs.telerik.com/devtools/justmock/api/overload_telerik_justmock_helpers_multiplereturnvaluechainhelper_returnsmany

EN

回答 1

Stack Overflow用户

发布于 2020-06-07 14:53:40

要保存序列,不需要调用InSequence()方法。以确保您可以看到the source code

代码语言:javascript
复制
private class ReturnsManyImpl<TReturn>
{
    internal int CurrentIndex;
    private readonly IList<TReturn> values;
    private readonly Action<ReturnsManyImpl<TReturn>> afterEndAction;

    public ReturnsManyImpl(IList<TReturn> values, Action<ReturnsManyImpl<TReturn>> afterEndAction)
    {
        this.afterEndAction = afterEndAction;
        this.values = values;
    }

    internal TReturn GetNext()
    {
        if (CurrentIndex >= values.Count)
            afterEndAction(this);

        return values[CurrentIndex++];
    }
}

但是要记住behavior参数,默认情况下它等于AfterLastValue.KeepReturningLastValue

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

https://stackoverflow.com/questions/62235361

复制
相关文章

相似问题

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