2016-09-26 41 views
2

我試圖從一些F#代碼運行NUnit 3的測試。F#,Akka.net - Nunit3從TestkKit繼承時未運行測試

我創建了一個繼承自Akka.Net TestKit類的類,就像C#範例中的標準實踐一樣。

當我從Visual Studio(以及從nunit3-console.exe)運行測試時,它無法找到測試。它在不從TestKit類繼承時找到測試。

open NUnit.Framework 
open Akka.TestKit 

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

任何人都知道這可能是爲什麼?我對F#相當陌生,不知道爲什麼從基類繼承會導致TestFixture屬性被忽略。

代碼編譯和我有這方面的包:

<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" /> 

回答

1

假設你正在使用的Visual Studio的測試運行

它好像在阿卡檢測試劑盒尚不工作與NUnit 3.0(看到這個線程:https://github.com/akkadotnet/Akka.TestKit.Nunit/issues/10

要解決這個問題,你可以降級NUnit爲2.x.另一種選擇是切換框架並使用https://github.com/akkadotnet/Akka.TestKit.VsTest(我知道一個很大的痛苦)。

或者,如果您可以選擇使用ReSharper測試轉輪,那部分工作。如果你安裝了這個,注意它與NUnit 3.4.1不兼容,所以使用3.0.0(以後沒有任何作用)。

最後,我發現使用NCrunch測試運行器適用於所有版本的NUnit。

+0

降級NUnit的作品。不知道爲什麼我沒有嘗試一下。乾杯! – CBurbidge