为什么NUnit测试适配器找不到我的FsUnit测试?

时间:2016-05-18 10:43:50

标签: visual-studio f# nunit test-explorer fsunit

我正在使用Visual Studio Professional 2015,我安装了N.04版本的2.0版本。

它没有发现构建以下代码的任何测试:

namespace SmallestDivisibleIntegers

module Core =

    let f n = [2..4] |> List.map (fun x -> x + n - n % x)

module Tests =

    open FsUnit
    open NUnit.Framework

    open Core

    [<Test>]
    let ``Correct answers`` () =
        f 1 |> should equal [2; 3; 4]
        f 4 |> should equal [6; 6; 8]
        f 43 |> should equal [44; 45; 44]
        f 123 |> should equal [124; 126; 124]
        f 420 |> should equal [422; 423; 424]
        f 31415 |> should equal [31416; 31416; 31416]
        f 1081177 |> should equal [1081178; 1081179; 1081180]

    [<Test>]
    let ``simple test`` () =
        (1 + 1) |> should equal 2

我引用了FsUnit(2.1.0)和NUnit(3.2.0),测试在F#interactive中运行良好。

如何让测试显示在测试资源管理器中?

1 个答案:

答案 0 :(得分:9)

我遇到了同样的问题而且很容易制作。

您预先假设只有一个NUnit Test Adapter,它适用于NUnit的2.x和3.x版本。但是NUnit Test Adapter

有两个版本

2.x:NUnit Test Adapter

  

NUnitTestAdapter扩展适用于Visual Studio单元测试   允许在Visual Studio 2012下执行集成测试的窗口,   2013年和2015年。

     

最新版本2.0基于NUnit 2.6.4并且兼容   使用NUnit 2.0到2.6.4开发的测试。它支持所有   VS2012,VS2013和VS2015的版本。   您可以找到发行说明here

和3.x:NUnit3 Test Adapter

  

NUnit3TestAdapter扩展适用于Visual Studio单元测试   允许在Visual Studio 2012下执行集成测试的窗口,   2013年和2015年。

     

此适配器仅适用于NUnit 3.0。用于早期版本   NUnit使用NUnitTestAdapter(note - no 3)扩展名。

     

当前包是3.0版的第一个生产版本   适配器,使用NUnit 3.0.1。你可以找到文档和   在https://github.com/nunit/docs/wiki

发布说明