Подтвердить что ты не робот

Есть ли какая-либо среда .NET для заполнения тестовых данных?

Я использую С#, а для модульного тестирования и тестирования интеграции обычно нужно заполнять поля автоматически на основе атрибутов.

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

  • Я создаю пользовательский объект, заполняющий поля, записывает пользователя в базу данных
  • Прочитать объект пользователя из базы данных
  • Проверить поля, если то, что я пишу, такое же, как и то, что я читал

Есть ли какая-либо инфраструктура, которая автоматически заполняет пользователя тестовыми данными и проверяет, имеют ли два объекта одинаковые значения?

Пример кода может понравиться

User user = new User();
AutoPopulator.Populate(user);
user.Save();
4b9b3361

Ответ 1

Посмотрите на NBuilder. Это позволяет создавать тестовые объекты со случайными данными, увеличивающимися значениями и всем, что вы, возможно, придумаете. Все через хороший свободный интерфейс.

Ответ 2

Вы можете найти это актуальным. Вот список нескольких других фреймворков на сегодняшний день:

Хорошо известно и уважаемо:

Малоизвестная:

Незнакомые:

Ответ 3

Да, есть. Я нашел это, наблюдая за сеансом № 3 Summer of NHibernate от Стивен Болен.

Его компания Microdesk разработала утилиту, которая позволит вам сохранить состояние базы данных при построении тестовой сборки, установить состояние базы данных в начале каждого теста и восстановить исходное состояние базы данных при деконструкции тестового устройства.

Загрузите утилиту здесь: Microdesk.Utility.UnitTest

В учебном пособии о том, как его использовать, просмотрите видеоролик Summer of NHibernate # 3.

Ответ 4

Fluent NHibernate имеет функцию, которая дает вам все, что вам нужно, за исключением части с автопопуляцией:

Ссылка: http://wiki.fluentnhibernate.org/Persistence_specification_testing

Однако, учитывая С# с кодовыми контрактами, было бы нелегко автоматически создавать магические объекты с использованием отражения.