Модульный тест с использованием Rhino Mock - PullRequest
0 голосов
/ 10 ноября 2011
[Test]
public void OnActionExecuting_Always_Call_CheckStatisticActionAuthorization()
{
    //Arrange
    var _ActionExecutingContext = GetActionExecutingContext();
    var _StatisticController = MockRepository.GenerateStub<StatisticsController>();

    _StatisticController.DataContext = fDataContext;

    //Act
    _StatisticController.OnActionExecuting(_ActionExecutingContext, false);

    //Assert
    _StatisticController.AssertWasCalled(aStatisticController =>
          aStatisticController.CheckStatisticActionAuthorization(_ActionExecutingContext));
}

Я получаю исключение NullReferenceException от CheckStatisticActionAuthorization. StatisticController.DataContext имеет значение null.В чем проблема?Благодаря.

1 Ответ

0 голосов
/ 10 ноября 2011

Попробуйте указать PropertyBehavior() для свойства DataContext:

var statisticController = MockRepository.GenerateStub<StatisticsController>(); 
statisticController.Expect(m => m.DataContext).PropertyBehavior();
statisticController.DataContext = fDataContext;

// check whether it set properly
Assert.AreEqual(fDataContext, statisticController.DataContext);
Assert.IsNotNull(statisticController.DataContext);

// Act
// ...

// Assert
// ..

Подробнее см. Свойства носорога

...