F#,Akka.net - Nunit3从TestkKit继承时未运行测试

问题描述:

我试图从一些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" /> 

假设你正在使用的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