.net 使用rhinomock进行单元测试 [测试] public void OnActionExecuting_Always_Call_CheckStatisticationAuthorization() { //安排 var_ActionExecutingContext=GetActionExecutingContext(); var_StatisticController=MockRepository.GenerateStub(); _StatisticController.DataContext=fDataContext; //表演 _StatisticController.OnActionExecuting(\u ActionExecutingContext,false); //断言 _StatisticController.AssertWasCalled(aStatisticController=> aStatisticController.CheckStatisticationAuthorization(_ActionExecutingContext)); }
我一直从CheckStatisticationAuthorization获取NullReferenceException StatisticController.DataContext为null。有什么问题?谢谢。尝试为DataContext属性指定.net 使用rhinomock进行单元测试 [测试] public void OnActionExecuting_Always_Call_CheckStatisticationAuthorization() { //安排 var_ActionExecutingContext=GetActionExecutingContext(); var_StatisticController=MockRepository.GenerateStub(); _StatisticController.DataContext=fDataContext; //表演 _StatisticController.OnActionExecuting(\u ActionExecutingContext,false); //断言 _StatisticController.AssertWasCalled(aStatisticController=> aStatisticController.CheckStatisticationAuthorization(_ActionExecutingContext)); },.net,unit-testing,rhino-mocks,.net,Unit Testing,Rhino Mocks,我一直从CheckStatisticationAuthorization获取NullReferenceException StatisticController.DataContext为null。有什么问题?谢谢。尝试为DataContext属性指定PropertyBehavior(): [Test] public void OnActionExecuting_Always_Call_CheckStatisticActionAuthorization() { //Arrange
PropertyBehavior()
:
[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));
}
var statisticController=MockRepository.GenerateStub();
Expect(m=>m.DataContext).PropertyBehavior();
statisticController.DataContext=fDataContext;
//检查它是否设置正确
AreEqual(fDataContext,statisticController.DataContext);
Assert.IsNotNull(statisticController.DataContext);
//表演
// ...
//断言
// ..
有关更多详细信息,请参见
fDataContext
来自何处?您没有在提供的示例中创建它。StatisticsController
的相关实现细节是什么?
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
// ..