Я использую FsCheck, чтобы создать генератор для создания поддельных записей в базе данных. В зависимости от рассматриваемого поля он использует chooseFromList или генераторы для чисел, чисел с плавающей запятой и т. Д.
Однако одно проблемное поле - это поле первичного ключа, которое должно быть последовательным. То есть укажите 1 в первой сгенерированной записи, 2 во второй сгенерированной записи и т. д. После создания набора записей я буду использовать их для олицетворения таблицы базы данных в тестируемом программном обеспечении.
Каждое решение, которое придумывает мой мозг на Фортране, кажется злым, нечистым и процедурным. Но я считаю, что это проблема более умных пользователей FsCheck, чем я занимался. Может ли это быть сценарий использования для функторов или монад ...