Lambda Moq:返回值作为值传递给方法作为IEnumerable<;T>;

Lambda Moq:返回值作为值传递给方法作为IEnumerable<;T>;,lambda,mocking,moq,Lambda,Mocking,Moq,我发现这篇文章的标题非常有用,因为我可以得到一个传入的值作为返回值提供 我面临的问题是,我需要将值(一个字符串)转换为IEnumerable,作为枚举中唯一的一项,而我在这样做的语法上被绊倒了 以下是我到目前为止的情况: var aggregator = new Mock<IUrlAggregator>(); aggregator .Setup(x => x.ProcessUrl(It.IsAny<IUrlFileLineInfo&

我发现这篇文章的标题非常有用,因为我可以得到一个传入的值作为返回值提供

我面临的问题是,我需要将值(一个字符串)转换为IEnumerable,作为枚举中唯一的一项,而我在这样做的语法上被绊倒了

以下是我到目前为止的情况:

var aggregator = new Mock<IUrlAggregator>();
        aggregator
            .Setup(x => x.ProcessUrl(It.IsAny<IUrlFileLineInfo>()))
            .Returns((IUrlFileLineInfo x) => x.Url); <-- Need to return IEnumerable<string> here, not string
那么,如何在lamba表达式的上下文中将字符串值转换为IEnumerable(通过.Returns()方法)

更新

这就是我的结局。谢谢你的帮助。希望这将有助于其他新加入lambdas的人

var aggregator = new Mock<IUrlAggregator>();
        aggregator
            .Setup(x => x.ProcessUrl(It.IsAny<IUrlFileLineInfo>()))
            .Returns((IUrlFileLineInfo x) => new List<string>() { x.Url });
var aggregator=new Mock();
聚合器
.Setup(x=>x.ProcessUrl(It.IsAny())
.Returns((IUrlFileLineInfo x)=>new List(){x.Url});

返回一个包含一个项的数组如何
x.Url

var aggregator = new Mock<IUrlAggregator>();
        aggregator
            .Setup(x => x.ProcessUrl(It.IsAny<IUrlFileLineInfo>()))
            .Returns((IUrlFileLineInfo x) => new [] { x.Url });
var aggregator=new Mock();
聚合器
.Setup(x=>x.ProcessUrl(It.IsAny())
.Returns((IUrlFileLineInfo x)=>new[]{x.Url});

返回一个包含一个项的数组如何
x.Url

var aggregator = new Mock<IUrlAggregator>();
        aggregator
            .Setup(x => x.ProcessUrl(It.IsAny<IUrlFileLineInfo>()))
            .Returns((IUrlFileLineInfo x) => new [] { x.Url });
var aggregator=new Mock();
聚合器
.Setup(x=>x.ProcessUrl(It.IsAny())
.Returns((IUrlFileLineInfo x)=>new[]{x.Url});

啊,你赢了我。我只是尝试了一个类似的解决方案,它奏效了。直到我发布这篇文章,在=>之后声明数组,我才意识到这一点。啊,你打败了我。我只是尝试了一个类似的解决方案,它奏效了。直到我发布这篇文章,在=>之后声明数组,我才明白这一点。
var aggregator = new Mock<IUrlAggregator>();
        aggregator
            .Setup(x => x.ProcessUrl(It.IsAny<IUrlFileLineInfo>()))
            .Returns((IUrlFileLineInfo x) => new [] { x.Url });