如何模拟 return 值?

How to mock a return value?

我有一个class:

 public class BankingTransfer : IBankingTransfer
 {
    public decimal GetTrustAccountBalance(string Id, string Pin)
    {
        throw new NotImplementedException();
    }

现在我想对其进行 xunit 测试。但不确定如何测试虚拟 return 值?

我的代码:

 public class GetTrustAccountBalanceUnitTest
 {
    [Theory]
    [InlineData("1234")]
    [InlineData("1234")]
    public void GetTrustAccountBalance_Should_Return_A_Value(string expectedId,string expectedPin)
    {
        // ARRANGE
        var bankingTransferMock =new Mock<IBankingTransfer>();
        // ACT
        bankingTransferMock.Setup(x=>x.GetTrustAccountBalance(expectedId,expectedPin)).Returns()
        // ASSURE
    }
}

只需在 returns 值中放入一个值,如下所示:

bankingTransferMock.Setup(x=>x.GetTrustAccountBalance(expectedId,expectedPin)).Returns(1);

但是,我认为您误解了如何测试您所显示的 class。您不应该嘲笑您正在尝试测试的 class 。按照测试名称,您可能需要更多信息,您只需调用方法并查看返回的内容。

var bankingTransfer = new BankingTransfer();
Assert.True(bankingTransfer.GetTrustAccountBalance("", "") > 0);