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。
降级NUnit的作品。不知道为什么我没有尝试一下。干杯! – CBurbidge