gpt4 book ai didi

c# - 最小起订量设置未返回预期值

转载 作者:行者123 更新时间:2023-12-02 13:07:10 25 4
gpt4 key购买 nike

我正在使用 Nunit 和 Autofac 的 Moq 来设置测试

    [TestFixture]
public class SomeTests
{

[OneTimeSetUp]
public void Initialize()
{

}
[Test]
public void SalaryCheck()
{
using (var mock = AutoMock.GetLoose())
{
// Arrange
mock.Mock<ICommonServices>().Setup(x => x.AddTwoNumbers(1,2)).Returns(5);
var sut = mock.Create<SomeManager>();
// Act
int actul = sut.CalculateSalary(1);


var expected = 5;


// Assert
Assert.AreEqual(expected, actul);

}
}
}

CalculateSalary 函数如下所示

  public int CalculateSalary(int hours)
{
var addres = _commonService.AddTwoNumbers(5,3);
if (addres == 5)
{
return addres * hours;
}
else
{
return 100;
}
}

我希望 AddTwoNumbers 函数是一个外部依赖项,无论如何都返回 5。这就是为什么我在 mock 它之后设置它。但是当我调试这个测试时,它看起来像是进入了计算工资函数,但为 AddTwoNumbers 函数返回了“0”。这是一种默认值或空值。

它不会返回我 5,即我设置它返回的值。

最佳答案

您需要使用It.IsAny<int>()

mock.Mock<ICommonServices>().Setup(x => x.AddTwoNumbers(It.IsAny<int>(),It.IsAny<int>())).Returns(5);

关于c# - 最小起订量设置未返回预期值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38507095/

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