Тестирование данных с помощью AutoFixture: разрешение ICollection <T>без упоминания каждого T - PullRequest
2 голосов
/ 16 апреля 2011

Я пытаюсь использовать 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>?

1 Ответ

3 голосов
/ 16 апреля 2011

AutoFixture 2.1 будет иметь условные обозначения для различных моделей многократных y. План состоит в том, чтобы получить 2,1 до GOTO Копенгаген .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...