如何在 Visual Studio 2008 中对 F# 代码进行单元测试?
我是 F# 新手,打算创建新的 F# 项目,并在 Visual Studio 2008 中使用 F# 对其进行单元测试,但 Visual Studio 2008 单元测试向导没有 F# 测试项目选项(只有 C、C# 和VB 选项)。
- 是否可以对 F# 进行单元测试?
- 是否可以使用 F# 测试项目对 F# 进行单元测试?
- 是否可以在 Visual Studio 2008 中使用 F# 测试项目对 F# 进行单元测试?
- 如果Visual Studio 2008中没有向导怎么办?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
此链接介绍了如何使用 VS 测试系统和 F# 。 您的操作方式与 C# 几乎相同。
缺点是 VS IDE 显然不会自动选择它——我相信您需要使用 mstest.exe。
编辑:哦,F# 的另一个很酷的东西是 FsCheck。 这允许您编写简单的测试,并让 FsCheck 系统尝试通过随机测试来反驳它们。
This link describes using the VS testing system with F#. You do it pretty much the same way as with C#.
The downside is that apparently the VS IDE won't automatically pick it up -- I believe you need to run from the command line using mstest.exe.
Edit: Oh, another cool thing with F#, is FsCheck. This allows you to write simple tests, and have the FsCheck system try to disprove them via random testing.
我找到了这篇关于使用 nunit 进行 f# 测试的文章(链接此处)。 不过,我确实记得还有另一种方法来验证函数式语言代码的有效性(我使用 Clean 进行工作,这与我的学士学位的 Haskell 类似)。 只是记不清他们到底叫什么了,我记得它更像是一个数学证明。
另外,我不确定它是否适用于 F#,因为如果我没读错的话,它与 Haskell 风格的语言有点不同。
I found this article on f# testing with nunit (link here). I do remember however that there's another way to verify the validity of functional language code (I 'worked' with Clean, which is similar to Haskell for my bachelor). Just can't remember exactly what they called it, I do remember it's more like a mathematical proof.
Also, I'm not sure that it works for F#, as it's a bit different from Haskell'esque languages if I read that correctly.
没有什么强迫您使用 F# 来测试 F#。 您可以简单地使用 C#、VB 或其他 .NET 支持的语言创建单元测试程序集,并简单地引用执行测试所需的 F# 程序集。 您将像为任何其他 .NET 程序集创建单元测试一样执行此操作。
There's nothing forcing you to use F# to test F#. You could simply create a unit test assembly in C#, VB or another .NET supported language, and simply reference the F# assembly needed to perform the tests. You would do it just as you would create unit tests for any other .NET assembly.
我不确定这是否与您的确切问题严格相关,但 Matthew Podwysocki 的博客上有一系列关于函数式语言单元测试的帖子 - 那里也有一些 F# 位。
I'm not sure whether this is strictly related to your exact question, but there are a whole series of posts on Matthew Podwysocki's blog about unit testing in functional languages - there are some F# bits in there too.
您是在问是否可以在 F# 中进行单元测试,还是在询问是否有一个向导? 可以用任何语言进行单元测试,事实上,函数式语言是单元测试人员的梦魇(我听说它是这样描述的),因为一切都是静态的,并且您已经验证了所有边缘情况,您基本上已经验证了每种情况。
编辑:要回答第四个问题,请编写自己的测试用例:
http://en.wikipedia.org/维基/单元测试
Are you asking if it's possible to unit test in F# or are you asking if there's a wizard for it? It's possible to unit test in any language, in fact, functional languages are a unit testers wet dream (I heard it described that way.) since everything is static and you've verified all the edge cases you've essentially verified every case.
EDIT: To answer the fourth question, write your own test cases:
http://en.wikipedia.org/wiki/Unit_testing