2016-09-08 7 views
3

私のテストケースを実行していないように:NUnitのは、私が見えますテストケースを持って

namespace UnitTests 

[<TestFixture>] 
module ValidatorTests = 

    [<Test>] 
    let VerifyBasicFunctionality() = 
     Assert.That(bool) 
     Assert.That(bool) 

と私は、Visual Stuidoテストエクスプローラでそれを実行しようとすると、何もNUnitのためのテストアダプタで(起こりません3)、「成功したビルド」と表示され、テストは検出されません。私はNUnitのコンソールランナーとコマンドラインから実行するときに、私は別の何かを得る(V.1、V.2、V.4で試してみました):

$ nunit-console4 bin/Release/UnitTests.dll 
NUnit version 2.4.8 
Copyright (C) 2002-2007 Charlie Poole. 
Copyright (C) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov. 
Copyright (C) 2000-2002 Philip Craig. 
All Rights Reserved. 

Runtime Environment - 
    OS Version: Unix 15.6.0.0 
    CLR Version: 4.0.30319.42000 (4.4.2 (Stable 4.4.2.11/f72fe45 Thu Aug 11 06:03:25 BST 2016)) 

.N.N.N 
Tests run: 0, Failures: 0, Not run: 3, Time: 0.011 seconds 

私は​​フラグでこれを実行し、Iこれを取得:

<?xml version="1.0" encoding="utf-8" standalone="no"?> 
<!--This file represents the results of running a test suite--> 
<test-results name="bin/Release/UnitTests.dll" total="0" failures="0" not-run="3" date="2016-09-08" time="10:26:00"> 
    <environment nunit-version="2.4.8.0" clr-version="4.0.30319.42000" os-version="Unix 15.6.0.0" platform="Unix" cwd="/SOMEUSER/SOMEPATH/UnitTests" machine-name="gmaini-m.jet.local" user="SOMEUSER" user-domain="SOMELOCALBOX" /> 
    <culture-info current-culture="en-US" current-uiculture="en-US" /> 
    <test-suite name="bin/Release/UnitTests.dll" success="True" time="0.010" asserts="0"> 
    <results> 
     <test-suite name="UnitTests" success="True" time="0.008" asserts="0"> 
     <results> 
      <test-suite name="ValidatorTests" success="True" time="0.001" asserts="0"> 
      <results> 
       <test-case name="UnitTests.ValidatorTests.VerifyBasicFunctionality" executed="False"> 
       <reason> 
        <message><![CDATA[UnitTests.ValidatorTests is an abstract class]]></message> 
       </reason> 
       </test-case> 
       <test-case name="UnitTests.ValidatorTests.VerifyBasicOtherFunctionality" executed="False"> 
       <reason> 
        <message><![CDATA[UnitTests.ValidatorTests is an abstract class]]></message> 
       </reason> 
       </test-case> 
       <test-case name="UnitTests.ValidatorTests.VerifyBasicSomeFunctionality" executed="False"> 
       <reason> 
        <message><![CDATA[UnitTests.ValidatorTests is an abstract class]]></message> 
       </reason> 
       </test-case> 
      </results> 
      </test-suite> 
     </results> 
     </test-suite> 
    </results> 

テストを発見しているようだ、なぜすべてのアイデアを、私は-run="Namespace.Module.Function"でそれらにアクセスし、-fixture="Namespace"と備品について話すドットことができますが、それはそれらを実行しないのだろうか? UnitTests.ValidatorTests.VerifyBasicFunctionality is an abstract classにはC#interopの問題があるというヒントがありますか?お時間を

感謝:)

答えて

1

は、この修正されました:基本的には

namespace UnitTests 

[<TestFixtureAttribute>] 
type ValidatorTests() = 

    [<Test>] 
    member __.VerifyBasicFunctionality() = 
     Assert.That(bool) 
     Assert.That(bool) 

、このオブジェクト指向作ります。だから私の仮説は正しい。

+1

F#モジュールは本質的に静的クラスですが、実行中のNUnitの古い(古代の)実際のバージョンは静的なクラスについては認識せず、.NETが静的なクラスを実装する方法のために抽象的であると誤解しています。 – Charlie

関連する問題