我正在尝试测试一组属性,但我不知道在这种特殊情况下我该怎么做.
我正在使用.NET 4.5和Moq框架.
我正在使用.NET 4.5和Moq框架.
public Invoice Approve(Invoice invoicetoBeApproved) { var approvedInvoiceStatus = InvoiceStatusRepository.First<ApprovedStatus>(); invoicetoBeApproved.Car.RemainingSeats -= 1; if (invoicetoBeApproved.Car.RemainingSeats < 0) { throw new BusinessException("There are no remaining seats"); } invoicetoBeApproved.InvoiceStatus = approvedInvoiceStatus; InvoiceRepository.Update(invoicetoBeApproved); context.SaveChanges(); return invoicetoBeApproved; }
我想测试的是
invoicetoBeApproved.Car.RemainingSeats -= 1;
我尝试使用VerifyGet,但我无法达到该属性.
我的部分测试是这样的
var newInvoice = InvoiceService.ApproveInvoice(invoice); InvoiceStatusRepository.Verify(x => x.First<ApprovedStatus>()); InvoiceRepository.Verify(x => x.Update(It.IsAny<Invoice>())); context.Verify(x => x.SaveChanges(),Times.Exactly(1));
如何测试RemainingSeats的设置/获取?
提前致谢!
解决方法
我认为你根本不应该使用Moq.假设Invoice是POCO,只需断言属性的值即可.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。