Как автоматически создавать тестовые данные с помощью конструктора, который будет учитывать проверки

Я использую NBuilder для создания тестовых данных, и мои классы имеют большое количество свойств, поэтому о ручном создании не может быть и речи. До того, как я использовал NBuilder, я копировал и вставлял некоторые выборки SQL в файлы csv и воссоздавал их в тестах с использованием автоматического сопоставления. Теперь я хочу использовать NBuilder или что-то еще, и я сталкиваюсь с проблемой ограничений Entity/DB.

Могу ли я каким-либо образом сказать некоторым из этих разработчиков учитывать мой файл сопоставления при создании данных. Например, если есть отображение

  this.Property(t => t.SomeId)
                .IsFixedLength()
                .HasMaxLength(3);

Я ожидаю, что фреймворк сгенерирует тестовые данные для этого свойства в соответствии с этими требованиями.


person majkinetor    schedule 07.09.2012    source источник


Ответы (1)


Интересно, могли бы вы использовать Linq-to-EDMX для доступа к информации о сопоставлении для ваших сущностей. Имея эту информацию, вы можете использовать метод CreateNew NBuilder, чтобы сделать что-то вроде этого:

// Linq-to-EDMX was used to get the propertyLength value
x => x.SomeId = randomString.Substring(0, propertyLength)
person Brad Rem    schedule 11.09.2012