【问题标题】:Unit test using Rhino Mock使用 Rhino Mock 进行单元测试
【发布时间】:2011-11-09 22:23:47
【问题描述】:
[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));
}

我不断从 CheckStatisticActionAuthorization 获得 NullReferenceException,StatisticController.DataContext 为空。问题是什么?谢谢。

【问题讨论】:

  • fDataContext 来自哪里?您没有在您提供的示例中的任何地方创建它。
  • StatisticsController的相关实现细节是什么?

标签: .net unit-testing rhino-mocks


【解决方案1】:

尝试为 DataContext 属性指定 PropertyBehavior()

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
// ..

详情请见Rhino Mocks Properties

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多