如何模拟返回值?

时间:2015-09-18 15:00:03

标签: c# moq xunit

我有一个班级:

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

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

我的代码:

 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
    }
}

1 个答案:

答案 0 :(得分:1)

只需在返回值中放置一个值,如下所示:

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

但是,我认为你误解了如何测试你所显示的类。你不应该嘲笑你想要测试的课程。按照测试名称,您可能需要更多内容,只需调用方法并查看返回的内容即可。

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