我有一个班级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;}
,则一切正常。我怎么能解决这个问题?
答案 0 :(得分:4)
fixture.Register<IVKDownloader>(() => new Downloader());
看起来这是IDownloader
fixture.Register<IDownloader>(() => new Downloader());