如何模拟 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);
我有一个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);