【发布时间】:2020-05-06 05:48:43
【问题描述】:
我对单元测试和起订量非常陌生。在我的 .net core 3.1 项目中,我使用 xUnit 和 Moq 编写单元测试。我有以下情况,我无法弄清楚为什么起订量无法检测到我的功能。
我的单元测试配置如下,
VASTest t = new VASTest()
{
RecurringAndOneOffChargeID = 2
};
_dataserviceMock.Setup(x => x.CreateVASBillingRunRecurringChargesTest(t))
.ReturnsAsync(() => true);
_dataserviceMock.Setup(x => x.CreateVASBillingRunRecurringChargesTest(2))
.ReturnsAsync(() => true);
在我的测试功能中,我尝试使用上述设置进行 moqup 的两个功能,
var result1 = _VASBillingDataAccess.CreateVASBillingRunRecurringChargesTest(tvt).Result;
var result2 = _VASBillingDataAccess.CreateVASBillingRunRecurringChargesTest(2).Result;
我的模型中有打击类,
public class VASTest
{
public int RecurringAndOneOffChargeID { get; set; }
}
当我运行单元测试时,result1 始终为 false,但 result2 始终为 true。
您能否给我一些建议如何解决结果1?
谢谢。
【问题讨论】:
-
如果我使用 IsAny 更改我的设置,我的结果 1 是正确的,但我实际上想根据我在单元测试中的设置验证 tvt 对象是否正确。 _dataserviceMock.Setup(x => x.CreateVASBillingRunRecurringChargesTest(It.IsAny
())) .ReturnsAsync(() => true);
标签: unit-testing mocking moq xunit asp.net-core-3.1