自动混合无法使用接口属性?

时间:2014-11-03 18:45:37

标签: c# .net unit-testing mocking autofixture

我有一个班级Alias。我已经将它与Autofixture一起使用,一切都运行正常。当我向我的班级添加了一个接口属性时,测试开始失败。

这是我的班级:

public class Alias : NotifyPropertyChanged
{
    private Alias()
    {
        Nicks = new List<string>();
        History = new History(this);
    }

    public IDownloader Downloader {get;set;}
}

我在测试中使用它:

Fixture fixture =  new Fixture();

var alias = fixture.Create<Alias>();

并得到Exception:“loeh.AutoFixture.ObjectCreationException:AutoFixture无法从Core.Helpers.IDownloader创建实例......”

我试图通过fixture.Register<IVKDownloader>(() => new Downloader());注册界面,但我仍然遇到此错误。

如果我将此属性更改为使用type而不是接口public Downloader Downloader {get;set;},则一切正常。我怎么能解决这个问题?

1 个答案:

答案 0 :(得分:4)

fixture.Register<IVKDownloader>(() => new Downloader());看起来这是IDownloader

的拼写错误

fixture.Register<IDownloader>(() => new Downloader());