【问题标题】:Getting F# tests to be detected by Visual Studio 2013 Express for Desktop让 Visual Studio 2013 Express for Desktop 检测到 F# 测试
【发布时间】:2014-02-25 14:31:49
【问题描述】:

我定义了以下 F# 文件:

module MyFsTest

open NUnit.Framework
open FsUnit

[<Test>]
let ``1 + 1 = 2``() = Assert.AreEqual(2, 1+1)

然而,当我尝试通过“测试资源管理器”或“右键单击 + 运行测试”运行它们时,构建完成但没有检测到/运行测试:

------ Discover test started ------
========== Discover test finished: 0 found (0:00:00,0320018) ==========

在谷歌上搜索了一下后,我发现我的方法似乎类似于 @http://davesquared.net/2013/03/hello-world-testing-in-fsharp.html 所采取的步骤,所以我想知道是否还有其他我可能遗漏的东西?

【问题讨论】:

  • 您能否排除/排除您是否有用于 VS(和/或其版本)的 NUnit 运行器插件? C# 测试是否被发现/运行(我怀疑 ti,因为似乎没有任何明显错误)?
  • @RubenBartelink:就是这样。我没有安装 NUnit 插件。但是查看 VS Gallery,似乎还没有支持 VS2013 的版本:(.
  • 似乎没有办法让它与快速版一起使用:stackoverflow.com/questions/20907842/…

标签: unit-testing f# nunit visual-studio-2013


【解决方案1】:

要将 NUnit 测试与内置的 Visual Studio 测试运行程序一起使用,您需要安装 NUnit test adapter。这适用于 Visual Studio 2013,但我认为无法将其作为 Express 版的扩展安装。

不过,Express 版包含对 Microsoft Visual Studio testing framework 的支持,内置测试运行程序支持该功能。用法应该与 NUnit 非常相似——你只需要不同的命名空间。

【讨论】:

  • 为什么测试方法中的'Ctrl + U + R'不起作用?我安装了 Resharper,当我在 Resharper 方法中使用快捷方式时,只会说“在文件中找不到测试”。但是,如果我转到测试项目并右键单击选择 Run Tests,测试将运行,即 Ctrl + U + R 适用于测试项目,但不适用于测试文件。在 C# 中,它适用于两者。这是 Resharper 插件的问题吗?
  • 您可能需要 NUnit 测试适配器的newer version
猜你喜欢
  • 2015-04-04
  • 1970-01-01
  • 2015-06-29
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多