0
這與Import
版MEF屬性MEF起訂量,他媽的
public class MyManager : IMyManager {
[ImportMany]
public ICollection<Lazy<IContext, IContextMetadata>> Contexts { get; set; }
public IContext { get; set; }
// Implemented from IMyManager interface
public void DoStuff(string name) {
this.Context = GetContext(name);
}
private IContext GetContext(string name) {
return Contexts.Where(c => c.Metadata.Name.Equals(name)).Single().Value;
}
}
我下面this answer試圖嘲笑它,測試它的類,但我失去了我的實際/預期值,因爲在我的情況下,我需要聲明MyManager .Context
已更改。
我想我必須Mock<IContext>()
並將其用於Assert.Equals
,但我如何模擬整個懶惰列表?
由Lazy構造函數保存,它將對象和元數據同時作爲參數 –