gpt4 book ai didi

c# - 是否可以在 C# 中使用 Moq 从另一个模拟返回一个模拟?

转载 作者:太空狗 更新时间:2023-10-30 00:21:53 25 4
gpt4 key购买 nike

我正在使用 Moq 作为我的模拟框架。根据下面的代码,我有两个模拟设置,我想设置第二个以返回第一个模拟。这可能吗?如果可以,我该怎么做?目前它说返回的模拟是无效的候选人。

[SetUp]
private void SetupMarketRow()
{
var marketTotalRow = new Mock<ITotalRow>();
marketTotalRow.Setup(r => r.TotalBudgetCurrentFact).Returns(1860716);
marketTotalRow.Setup(r => r.TotalBudgetEvol).Returns(-26);
marketTotalRow.Setup(r => r.TotalBudgetPreviousFact).Returns(2514079);


var localMarketReport = new Mock<IReport>();
localMarketReport.Setup(r => r.TotalRow).Returns(marketTotalRow);
// Red swiggley here saying invalid candidate

}

最佳答案

您可以使用 marketTotalRow.Object 访问实际模拟的 ITotalRow。

[SetUp] 
private void SetupMarketRow()
{
var marketTotalRow = new Mock<ITotalRow>();
marketTotalRow.Setup(r => r.TotalBudgetCurrentFact).Returns(1860716);
marketTotalRow.Setup(r => r.TotalBudgetEvol).Returns(-26);
marketTotalRow.Setup(r => r.TotalBudgetPreviousFact).Returns(2514079);


var localMarketReport = new Mock<IReport>();
localMarketReport.Setup(r => r.TotalRow).Returns(marketTotalRow.Object);
// Red swiggley here saying invalid candidate

}

关于c# - 是否可以在 C# 中使用 Moq 从另一个模拟返回一个模拟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3440301/

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