Resharper Testrunner запускает класс без [TestFixture] - почему? - PullRequest
0 голосов
/ 10 января 2012

Мы используем 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бегун, РС настаивает на запуске моего BaseTestCasesFixture ( NO [TestFixture] на нем !!) и с треском проваливается (15 раз!) ....

Есть идеи почему ??Это ошибка Resharper Testrunner?Кто-нибудь знает, что это исправлено в 6.0 / 6.1 ??

Обновление : только что протестировано с самой последней версией RS 6.1 - все та же проблема: - (

1 Ответ

2 голосов
/ 10 января 2012

Если бы я рискнул предположить, атрибута [Test] в базовом классе достаточно, чтобы Resharper мог принять атрибут [TestFixture], даже если его нет.NUnit, начиная с версии 2.5, работает так же, как .

Установка базового класса как абстрактного может остановить это поведение.

...