我有一个接口ITransaction如下:
public interface ITransaction { DateTime EntryTime { get; } DateTime ExitTime { get; } }
public class PaymentTransaction : ITransaction { public virtual DateTime LastPaymentTime { get { return DateTime.Now; } } #region ITransaction Members public DateTime EntryTime { get { throw new NotImplementedException(); } } public DateTime ExitTime { get { throw new NotImplementedException(); } } #endregion }
我想要模拟PaymentTransaction对象的所有三个属性.
我尝试了以下,但它没有工作:
var mockedPayTxn = new Mock<PaymentTransaction>(); mockedPayTxn.SetUp(pt => pt.LastPaymentTime).Returns(DateTime.Now); // This works var mockedTxn = mockedPayTxn.As<ITransaction>(); mockedTxn.SetUp(t => t.EntryTime).Returns(DateTime.Today); mockedTxn.SetUp(t => t.ExitTime).Returns(DateTime.Today);
但是当我注射
(mockedTxn.Object作为PaymentTransaction)
在我正在测试的方法中(因为它只需要PaymentTransaction而不是ITransaction,我也不能更改它),调试器显示入口时间和退出时间的空引用.
我想知道有人能帮我吗
感谢预期.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。