我是 F# 新手,我打算创建新的 F# 项目,并在 Visual Studio 2008 中使用 F# 对其进行单元测试,但 Visual Studio 2008 单元测试向导没有 F# 测试项目选项(只有 C、C# 和VB 选项)。
- 是否可以对 F# 进行单元测试?
- 是否可以使用 F# 测试项目对 F# 进行单元测试?
- 是否可以在 Visual Studio 2008 中使用 F# 测试项目对 F# 进行单元测试?
- 如果 Visual Studio 2008 中没有向导,该怎么做?
我是 F# 新手,我打算创建新的 F# 项目,并在 Visual Studio 2008 中使用 F# 对其进行单元测试,但 Visual Studio 2008 单元测试向导没有 F# 测试项目选项(只有 C、C# 和VB 选项)。
我发现这篇关于 f# testing with nunit 的文章(链接在这里)。然而,我确实记得还有另一种方法可以验证函数式语言代码的有效性(我使用 Clean '工作',这类似于我的单身汉的 Haskell)。只是不记得他们叫什么,我记得它更像是一个数学证明。另外,我不确定它是否适用于 F#,因为如果我没看错的话,它与 Haskell'esque 语言有点不同。
此链接描述了使用带有 F# 的 VS 测试系统。您的操作方式与使用 C# 几乎相同。
缺点是 VS IDE 显然不会自动选择它——我相信你需要使用mstest.exe从命令行运行。
编辑:哦,F# 的另一个很酷的东西是FsCheck。这允许您编写简单的测试,并让 FsCheck 系统尝试通过随机测试来反驳它们。
没有什么强迫您使用 F# 来测试 F#。您可以简单地使用 C#、VB 或其他 .NET 支持的语言创建单元测试程序集,并简单地引用执行测试所需的 F# 程序集。您可以像为任何其他 .NET 程序集创建单元测试一样执行此操作。
您是在问是否可以在 F# 中进行单元测试,还是在问是否有针对它的向导?可以用任何语言进行单元测试,事实上,函数式语言是单元测试人员的梦想(我听说它是这样描述的。)因为一切都是静态的,并且您已经验证了所有边缘案例,您基本上已经验证了每个案例。
编辑:要回答第四个问题,请编写您自己的测试用例: