J'essaie d'apprendre à utiliser correctement FsCheck et à l'intégrer à Expecto pour le moment. Je peux exécuter des tests de propriétés si j'utilise la configuration par défaut FsCheck, mais lorsque j'essaie d'utiliser mon propre générateur, cela provoque une exception de dépassement de pile.Expecto FsCheck obtient une exception de dépassement de pile lors de la génération de la chaîne
Voici mon générateur
type NameGen() =
static member Name() =
Arb.generate<string * string>
|> Gen.where (fun (firstName, lastName) ->
firstName.Length > 0 && lastName.Length > 0
)
|> Gen.map (fun (first, last) -> sprintf "%s %s" first last)
|> Arb.fromGen
|> Arb.convert string id
Et je suis en train de l'utiliser comme ceci:
let config = { FsCheckConfig.defaultConfig with arbitrary = [typeof<NameGen>] }
let propertyTests input =
let output = toInitials input
output.EndsWith(".")
testPropertyWithConfig config "Must end with period" propertyTests
L'exception est levée avant qu'il ne soit même dans la fonction Gen.where
Qu'est-ce que est-ce que je fais mal? Merci