小编Kub*_*uba的帖子

模拟具有构造函数依赖关系的抽象类(使用Moq)

我有一个抽象类,其构造函数需要集合参数.我怎么能模拟我的课来测试呢?

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实现这个目标吗?

c# abstract-class moq mocking

9
推荐指数
1
解决办法
6058
查看次数

标签 统计

abstract-class ×1

c# ×1

mocking ×1

moq ×1