我需要一个理智的解决方案来测试我的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。
答案 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的测试资源管理器窗口中。