2012-02-11 9 views
2

だから、私は(版2.6.0.12035を使用しています。)NUnitの2.6については、次の "テスト" のテスト:-)を書いたResultプロパティでNunit TestCase属性が正しく機能しませんか?

[TestCase(1, 2, Result = 3)] 
    [TestCase(3, 4, Result = 7)] 
    [TestCase(5, 6, Result = 11)] 
    public int Add_Test(int a, int b) 
    { 
     return a - b; 
    } 

次に、私はReSharperの6.1.37.86でそれを実行します。 Resharperは、3つのテストのすべてが合格したことを示しています。 nunit GUI - nunit.exeでテストを実行しようとしています。テストには、 "メソッドにvoid以外の戻り値があります"という奇妙なエラーメッセージが表示されます。 実際、すべてのテストは予期せぬ結果の値で失敗するはずです。 この機能は正しく機能しないのですか?違う?ところで 、次の私は、設定されたResultプロパティなしで行う試してみて、それが両方のランナーと完璧に動作します:

[TestCase(1, 2, 3)] 
    [TestCase(3, 4, 7)] 
    [TestCase(5, 6, 11)] 
    public void Add_Test1(int a, int b, int result) 
    { 
     Assert.AreEqual(result, a - b); 
    } 

答えて

1

私はNUnit.exeまたはNUnitのコンソールを使用するかどうか、NUnitの2.6.0.12035と同じ問題を取得します。 EXE。

あなたの例はNUnit.exe 2.5.10を使ってうまく動作します。 (私の推測では、ResharperはNUnit 2.5.10を使用しているため、テストに合格します)。

I reported the issueをNUnitディスカッショングループに割り当てます。

編集:私のテストアセンブリはNUnit.framework.dllの2.5.10バージョンを参照しました。私が2.6.0.12035バージョンを使用するように切り替えると、テストは期待通りに動作し、NUnit.exeNUnit-console.exeの両方で動作します。あなたの問題は同じであると私は考えます。

編集2:これはバグとして提出されており、fixed in the next releaseです。ユニットテストライブラリが古いバージョンのNunit.framework.dllにリンクしている場合、2.6のテストランナーはエラーを発生しなくなりました。

関連する問題