필자도 FsCheck에 대한 전문가가 아니지만 누락 된 기능을 제외하고 코드에서 이상한 일이 발생한다고 생각합니다. StringExtensions.skipLastChar
은 무엇을하고 있습니까? 또한 나는 Gen
이 마지막 줄에있는 것처럼 string
과 연결할 수 없다고 생각합니다. Gen.finalValueOf
은 무엇을해야하나요? 그런데
let jsonArray =
Arb.generate<string>
|> Gen.arrayOf
|> Gen.map (String.concat "\",\"")
|> Gen.map (fun strs -> "[\"" + strs + "\"]")
let result = Arb.fromGen jsonArray
: 나는 쉼표로 구분 된 목록으로 문자열에 가입하고 괄호 안에 결과를 래핑하는 Gen.map
을 사용 (당신이하는 것이 필요하지 있는지 확실하지 않습니다) 작업 귀하의 예제를 가지고
: 난 당신이 생성 된 이중 따옴표를 고려해야한다고 생각합니다. 이스케이프하지 않으면 JSON 파서가 실패합니다. 다음은 그 일을 수행하는 jsonArray
의 버전입니다.
let escapeDoubleQuotes (str:string) = str.Replace ("\"", "\\\"")
let jsonArray =
Arb.generate<string>
|> Gen.arrayOf
|> Gen.map (Array.map escapeDoubleQuotes)
|> Gen.map (String.concat "\", \"")
|> Gen.map (fun strs -> "[\"" + strs + "\"]")
감사합니다. 원래 문자열 배열도 어떻게 반환 할 수 있습니까? 마침내 단언 할 때 필요합니다. – Mohsen
여기에서 질문을 만들었습니다. https://stackoverflow.com/questions/48059352/how-to-generate-tuples-by-fscheck – Mohsen