Why can't the NUnit Test Adapter find my FsUnit tests?
Asked Answered
E

1

5

I'm using Visual Studio Professional 2015 and I have version 2.0.0.0 of the NUnit Test Adapter installed.

It doesn't discover any tests on building the following code:

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

I have referenced FsUnit (2.1.0) and NUnit (3.2.0) and the tests run fine in F# interactive.

How can I get the tests to appear in the Test Explorer?

Ekaterinburg answered 18/5, 2016 at 10:43 Comment(2)
Just out of interest, this is for this code golf question: codegolf.stackexchange.com/questions/79980/…Ekaterinburg
Yes - note that if you install FsUnit 2.1.0 directly (with Nuget or Paket) it will install the correct version of NUnit.Ekaterinburg
I
10

I had the same problem and it is easy to make.

You are pre-supposing that there is only one NUnit Test Adapter and that it works for versions 2.x and 3.x of NUnit. However there are two versions of the NUnit Test Adapter

one for 2.x: NUnit Test Adapter

The NUnitTestAdapter extension works with the Visual Studio Unit Test window to allow integrated test execution under Visual Studio 2012, 2013 and 2015.

The latest version, 2.0, is based on NUnit 2.6.4 and is compatible with tests developed using NUnit 2.0 through 2.6.4. It supports all versions of VS2012, VS2013 and VS2015. You can find the release notes here

and one for 3.x: NUnit3 Test Adapter

The NUnit3TestAdapter extension works with the Visual Studio Unit Test window to allow integrated test execution under Visual Studio 2012, 2013 and 2015.

This adapter only works with NUnit 3.0. For use with earlier versions of NUnit use the NUnitTestAdapter (note - no 3) extension.

The current package is the first production release of version 3.0 of the adapter, using NUnit 3.0.1. You can find the documentation and release notes at https://github.com/nunit/docs/wiki

Impudent answered 18/5, 2016 at 11:2 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.