我有一个抽象类,其构造函数需要集合参数.我怎么能模拟我的课来测试呢?
public abstract class QuoteCollection<T> : IEnumerable<T>
where T : IDate
{
public QuoteCollection(IEnumerable<T> quotes)
{
//...
}
public DateTime From { get { ... } }
public DateTime To { get { ... } }
}
Run Code Online (Sandbox Code Playgroud)
传递给构造函数的集合中的每个项都必须实现:
public interface IDate
{
DateTime Date { get; }
}
Run Code Online (Sandbox Code Playgroud)
如果我要编写自定义模拟,它将如下所示:
public class QuoteCollectionMock : QuoteCollection<SomeIDateType>
{
public QuoteCollectionMock(IEnumerable<SomeIDateType> quotes) : base(quotes) { }
}
Run Code Online (Sandbox Code Playgroud)
我可以用Moq实现这个目标吗?