2016-09-26 2 views
2

Ich versuche, Tests mit NUnit 3 aus einem F # -Code auszuführen.F #, Akka.net - Nunit3 führt keine Tests durch, wenn er von TestkKit erbt

Ich erstelle eine Klasse, die von der Klasse Akka.Net TestKit erbt, wie es im C# -Paradigma üblich ist.

Wenn ich die Tests von Visual Studio (und von der Nunit3-console.exe) ausführbare ausführen, findet es die Tests nicht. Es findet die Tests, wenn es nicht von der TestKit-Klasse erbt.

open NUnit.Framework 
open Akka.TestKit 

[<TestFixture>] 
type SomeActorTests() = 
    inherit Akka.TestKit.NUnit3.TestKit() 
    [<Test>] 
    member self.TestThatSomeStuffIsTrue() = 
     Assert.True true 

Wer weiß, warum das sein könnte? Ich bin ziemlich neu in F # und weiß nicht, warum die Vererbung von einer Basisklasse dazu führen würde, dass das TestFixture-Attribut ignoriert würde.

Der Code kompiliert und ich habe diese als Pakete:

<package id="Akka" version="1.1.1" targetFramework="net452" /> 
<package id="Akka.TestKit" version="1.1.1" targetFramework="net452" /> 
<package id="Akka.TestKit.NUnit3" version="1.1.1" targetFramework="net452" /> 
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net452" /> 
<package id="NUnit" version="3.4.1" targetFramework="net452" /> 
<package id="System.Collections.Immutable" version="1.1.36" targetFramework="net452" /> 

Antwort

1

Angenommen Sie haben die Visual Studio Test Runner verwenden:

Es scheint, als ob der Akka Testkit Arbeit noch nicht tut mit NUnit 3.0 (siehe dieses Thema: https://github.com/akkadotnet/Akka.TestKit.Nunit/issues/10)

Um dies zu umgehen, können Sie NUnit auf 2.x downgraden. Eine andere Möglichkeit wäre Frameworks zu wechseln und https://github.com/akkadotnet/Akka.TestKit.VsTest (ein großer Schmerz, ich weiß) zu verwenden. Wenn Sie die Möglichkeit haben, den ReSharper Test Runner zu verwenden, funktioniert das teilweise. Wenn Sie dies installieren, beachten Sie, dass es noch nicht mit NUnit 3.4.1 kompatibel ist, verwenden Sie also 3.0.0 (nichts später funktioniert).

Schließlich habe ich festgestellt, dass die Verwendung des NCrunch Test Runner mit allen Versionen von NUnit funktioniert.

+0

Downgrade NUnit funktioniert. Ich weiß nicht, warum ich es überhaupt nicht versucht habe. Prost! – CBurbidge

Verwandte Themen