我是基于属性和单元测试的新手,在我的项目中我想使用这种技术,但不幸的是这很容易说...我看了一个关于 FsCheck.XUnit 库的演讲,但那个人正在测试数字函数(模数)...我想测试使用字符串、列表和数组的函数。也许你们可以给出一个提示或一个我可以查看的来源?PS,我看到的每个地方都只有数字示例,看起来很容易测试。
我想测试一些功能:
let wordSplit (text:string) =
text.Split([|' ';'\n';'\r';'\t';'!';',';'.';'?';';';':'; '/'
;'\\';'-';'+'; '*'; '#';'(';')';'^';'"';'\'';'`'; '@';'~';'|'|]
,StringSplitOptions.RemoveEmptyEntries)
|> Array.toList
let rec matchTails (tail1 : string list) (tail2 : string list) =
match tail1, tail2 with
| h1::t1 , h2::t2 ->
if (h1=h2) then
matchTails t1 t2
else
false
| [], _ -> false
| _, [] -> true
let rec phraseProcessor (textH: string) (textT: string list) (phrases: string list list) (n:int) =
match phrases with
|[] -> n
| h :: t ->
match h with
|x when x.Head = textH && (matchTails (textT) (x.Tail)) ->
phraseProcessor (textH) (textT) (t) (n+1)
| _ ->
phraseProcessor (textH) (textT) (t) (n)
let rec wordChanger (phrases : string list list) (text:string list) (n:int)=
match text with
| [] -> n
| h :: t ->
wordChanger phrases t (phraseProcessor (h) (t) (phrases) (n))