Я пытаюсь использовать AutoFixture 2 для генерации тестовых данных для классов EntityFramework4, которые имеют член ICollection.
public class Parent
{
public virtual ICollection<Child1> Children1 { get; set; }
public virtual ICollection<Child2> Children2 { get; set; }
...
public virtual ICollection<Child759> Children759 { get; set; }
}
var factory = new Ploeh.AutoFixture.Fixture();
var parent = factory.CreateAnonymous<Parent>();
Поскольку AutoFixture не может разрешить ICollection<Child1>
, я получаю Ploeh.AutoFixture.ObjectCreationException
Единственное решение, которое я нашел до сих пор, - это зарегистрировать каждую возможную 'ICollection', как это
var factory = new Fixture();
factory.Register<ICollection<Child1>>(() =>
new List<Child1>());
...
factory.Register<ICollection<Child759>>(() =>
new List<Child759>());
var parent = factory.CreateAnonymous<Parent>();
Мой вопрос
Кто-нибудь знает способ или соглашение?сказать AutoFixture всегда использовать List<T>
, если требуется ICollection<T>
?