2012-01-10 7 views
0

私たちはVS 2008とResharper 5.1(C#)とNUnit 2.4.8を使用しています。[TestFixture]のないクラスを実行しているResharper Testrunner - なぜですか?

私はないを行い、この基本テストクラスを持っているが[TestFixture]属性があります。

public class BaseTestCasesFixture: BaseFixture 
{ 
    protected virtual int Calculate(DatePeriod period) 
    { 
     throw new NotSupportedException("Should be implemented by inheriter"); 
    } 

    [Test] 
    public void Test1() 
    { 
     Assert.That(Calculate(new DatePeriod(2006, 2, 28, 2007, 2, 28)), Is.EqualTo(361)); 
    } 

をそして私はその基本クラスから継承し、テストする方法の2つのバージョンを実装するその2人の子孫を持っています:

[TestFixture] 
public class RealTestCaseFixture1 : BaseTestCasesFixture 
{ 
    protected override int Calculate(DatePeriod period) 
    { 
     return period.DaysAsWeNeedThem; 
    } 

今、私は私のビルドサーバー(竹)にこれらのテストを実行すると、すべてがうまく動作するようです - しかし、ReSharperの5.1テストランナー、RS INSIでのVisual Studioでそれらを実行しています私BaseTestCasesFixture実行している上、STS(その上NO[TestFixture]を!!)と無残に失敗した(15回!)....

任意のアイデアなぜ?これはResharper Testrunnerのバグですか?誰か知っている人は、6.0/6.1で修正されているということですか?

更新:ちょうど非常に最新のRS 6.1でテスト - 私は推測をハザードた場合

答えて

2

:-(まだ同じ問題が、基底クラス上の[テスト]属性がにReSharperのために十分ですV2.5、works the same wayのように、それが存在していないにもかかわらず。NUnitの[TestFixture]属性を前提としています。

abstractとして基本クラスを設定し、この動作を停止する場合があります。

+0

うん、それは私が得たまさに応答ですReSharperチームから、この振る舞いのバグを提出しました - それは設計どおりに動作しています。そのテストフィクスチャを実行するので、ReSharperも実行します。そして、はい、私はそれを抽象化することは、ReSharperにそれを実行しないように指示することを確認することができます。 –

+0

はい、ありがとうございます - それはそうするようです!私はまだ、RSが '[TestFixture]'属性でマークされていないクラスを "実行"するRSのバグだと思っています.JetBrainsにバグレポートを提出しました。 。 –

+0

@JoeWhite:奇妙な - 私の場合、**ビルドサーバ**で、NUnitは[TestFixture] .....とマークされていないので、そのクラスを実行しません。 –

関連する問題