Есть ли способ в AutoFixture, так что fixture.Create<string>()
даст тот же результат? I.e., можно ли инициализировать прибор с помощью семени?Могу ли я повторно генерировать случайные значения в AutoFixture, используя семя?
Update
Чтобы быть более точным, я ищу генератор в случайной величине, которая инициированный с некоторой случайной семени, которое также выведенной, если тест не пройдено. Таким образом, я могу взять семя для этого конкретного тестового прогона и снова запустить тест с фиксированным семенем. Семя должно применяться ко всем экземплярам, независимо от их типов. Я думаю, что это самый мощный способ использовать случайные значения в тестах, потому что он имеет огромный охват и также воспроизводится.
В AutoFixture нет такой функции, так как она не использует глобальный объект «Случайный» для генерации значений. За все годы, которые я использовал, я никогда не нуждался в такой функции. Если тест терпит неудачу, вы можете записать их таким образом, чтобы в отчете о тестировании всегда указывалось, какие значения были использованы. Например, если вы используете * AutoFixture.Xunit *, это происходит автоматически. –
BTW, я действительно понимаю, что у FsCheck * есть такая функция, но я не использую ее там ... –
Списание всех тестовых данных, которые принимали участие в определенном тесте, не очень сильно масштабируется. Предполагая, что их много, вы получите огромный список. Кроме того, в случае неудачного теста вам придется адаптировать все тестовые данные в тесте к печатным значениям. Еще более громоздкой является то, что вам придется писать собственный код во всех тестах, если тестовые данные не содержатся в некоторых полях экземпляров. Я действительно думаю, что печатное семя - это путь сюда. – Matthias