我正在对使用不同方式(使用 NUnit 和 FsUnit)制作相同内容的三个函数进行测试。我想使用 TestCase 所以我不必复制/粘贴很多代码。我将此作为编译错误消息:“这不是有效的常量表达式或自定义属性值”。有没有办法解决这个问题?
程序.fs
let calculateEvenNumbersWithFilter = ...
let calculateEvenNumbersWithMap = ...
let calculateEvenNumbersWithFold = ...
测试.fs
open FsUnit
open NUnit.Framework
open Program
[<TestCase(calculateEvenNumbersWithFilter)>]
[<TestCase(calculateEvenNumbersWithFold)>]
[<TestCase(calculateEvenNumbersWithMap)>]
let ``Smoke test`` (func) =
func [1;2;3;4] |> should equal 2