【发布时间】:2015-12-15 18:54:12
【问题描述】:
我有一堂课:
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
}
}
【问题讨论】:
-
.Returns(42m)?你的问题是什么,这段代码的输出是什么,你尝试了什么?模拟被测类也是没有意义的。你将测试起订量,而不是你的班级。 -
我没有该类的实际实现。一开始,如何测试呢?我不在乎返回值。
-
那你为什么要在你的问题中要求返回值?你想具体测试什么?我可以建议阅读一本关于单元测试基础的书吗?可以这么说,您提出了错误的问题,这要求回答者涵盖单元测试基础知识,这使得问题过于宽泛。
-
因为方法返回一个值。该方法不是无效方法。如果它是无效的,我会使用
bankingTransferMock .Verify()。 -
是的,但是你又在嘲笑被测类。一开始就错了,所以剩下的问题恐怕没有多大意义。