Rhino Mocks демонстрирует другое поведение в режиме отладки

У меня проблема, из-за которой простой метод заглушки Rhino Mock будет отлично работать, когда я запускаю модульный тест, но выдает исключение. Невозможно создать имитацию запечатанные классы при выполнении в режиме отладки . Я попытался заменить Do методом Return , но это не изменило поведения.

Использование C # с Rhino Mocks 3.6, извиняюсь за оскорбление кого-либо, заставив функцию сложения вычитать в модульном тесте;)

Интерфейс

public interface ICalculator
{
    int Add(int value, int value2);
}

Классы

public class Calculator : ICalculator
{
    public int Add(int value, int value2)
    {
        return value + value2;
    }
}

public class Sums
{
    private ICalculator calculator;

    public Sums(ICalculator calculatorArg)
    {
        calculator = calculatorArg;
    }

    public int Add(int value, int value2)
    {
        return calculator.Add(value, value2);
    }
}

Модульный тест

[TestMethod()]
public void AddTest()
{
    //ARRANGE
    var calculatorArg = MockRepository.GenerateMock<ICalculator>();

    Func<int, int, int> subtract = delegate(int valueArg, int value2Arg)
    {
        return valueArg - value2Arg;
    };
    calculatorArg.Stub(x => x.Add(-1,-1)).IgnoreArguments().Do(subtract);

    Sums target = new Sums(calculatorArg);

    int value = 5;
    int value2 = 3;
    int expected = 2;

    //ACT
    int actual = target.Add(value, value2);

    //ASSERT
    Assert.AreEqual(expected, actual);
}
5
задан keith 19 October 2011 в 00:13
поделиться