Resharper Testrunner在没有[TestFixture]的情况下运行一个类 - 为什么?

时间:2012-01-10 10:25:24

标签: visual-studio-2008 nunit resharper-5.1

我们正在使用VS 2008和Resharper 5.1(C#)和NUnit 2.4.8。

我有这个基础测试类,具有[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));
    }

我有两个继承自该基类的后代,并实现了两个版本的测试方法:

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

现在,当我在构建服务器(Bamboo)上运行这些测试时,一切似乎都运行正常 - 但在Visual Studio中使用Resharper 5.1测试运行器运行它们,RS坚持运行我的BaseTestCasesFixture没有 [TestFixture]就可以!!)并且悲惨地失败了(15次!)....

知道为什么??这是一个Resharper Testrunner bug吗?有谁知道那是一个固定在6.0 / 6.1 ??

更新:刚刚使用最新的RS 6.1测试 - 仍然是同样的问题: - (

1 个答案:

答案 0 :(得分:2)

如果我冒险猜测,基类的[Test]属性足以让Resharper假设[TestFixture]属性,即使它不存在。 NUnit,自v2.5起,works the same way

将基类设置为抽象可能会停止此行为。