如何在Visual Studio 2015中测试F#?

时间:2016-07-14 16:47:28

标签: visual-studio f# f#-unquote

我需要一个理智的解决方案来测试我的f#代码。 我认为unqote是非常好的库, 我想fuchu有助于对测试进行分组。

namespace Frank
module MyTest =
  open Fuchu 
  open Swensen.Unquote
  [<Tests>]
  let t = 
    testCase "1" <| fun _ ->  
      test <@ 1 + 1  = 3 @>

fsi

起,它可以正常工作
#load "Scripts/load-references-debug.fsx"
open Fuchu
#load "regexTest.fs"
open Frank.MyTest
run t

或作为https://github.com/mausch/Fuchu

中描述的控制台应用程序
open Fuchu
[<EntryPoint>]
let main args = defaultMainThisAssembly args

带有精彩的输出

1: Failed: 

1 + 1 = 3
2 = 3
false

1 tests run: 0 passed, 0 ignored, 1 failed, 0 errored (00:00:00.0024090)

但我相信Visual Studio也是一种发现和运行特定tess的机制,它具有Test Exporer窗口和Test\run\All Tests菜单条目。

不幸的是,这对我不起作用,因为Visal Studio 2015没有发现那些测试

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

即使在我的机器上,我也看到了这种情况。但现在我没有。通过了解测试发现在VS2015中的工作原理,我喜欢这个orking。

2 个答案:

答案 0 :(得分:1)

你可以让MyTest.t成为一个函数吗?

[<Test>]
let t () =
   // ...

现在它被定义为属性,我不认为NUnit会将此视为测试。

答案 1 :(得分:1)

我为Fuchu编写了一个Visual Studio测试适配器。源位于https://github.com/interactsw/fuchu-adapter,可以从github获得Fuchu.Adapter包。这使得Fuchu测试能够显示在Visual Studio的测试资源管理器窗口中。