ASP.NET MVC 3 beta: TryUpdateModel throws a NullreferenceException in unit test

Since I upgraded to ASP.NET MVC 3 Beta 1, I get NullReferenceExceptionwhen I call TryUpdateModel()unit test during a session.

The stack trace is as follows:

Execute System.NullReferenceException: The object reference is not set to the object instance. in System.Web.Mvc.JsonValueProviderFactory.GetValueProvider (ControllerContext controllerContext) in System.Web.Mvc.ValueProviderFactoryCollection. <> c_DisplayClassc.b_7 (ValueProviderFactory factory) in System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext () in the System.Collections.Generic.List 1..ctor(IEnumerable1) collection in System.Linq.Enumerable.ToList [TSource] ( 1 source) at System.Web.Mvc.ValueProviderFactoryCollection.GetValueProvider(ControllerContext controllerContext) at System.Web.Mvc.ControllerBase.get_ValueProvider() at Zeiterfassung.Controllers.ControllerBaseIEnumedTrack 1. TModel] (TModel model, String prefix) in C: \ Users \ Adrian \ Documents \ Sites \ Zeiterfassung \ Zeiterfassung \ Controllers \ ControllerBase.cs: line 164 ... My own code is from here ...

-, , Injection Dependency .

-, ? ASP.NET MVC, .

+3
2

ControllerContext. MvcContrib.TestHelper, Rhino Mocks :

// arrange
var controller = new HomeController();
new TestControllerBuilder().InitializeController(controller);

// act
var actual = controller.Index();

. , unit test controller.ControllerContext .

+2

Rhino Mocks ( MvcContrib.TestHelper), :

controller = new HomeController(repository);
controller.ControllerContext = MockRepository.GenerateStub<ControllerContext>();

:

private HomeController controller;

:

[TestInitialize()]
public void MyTestInitialize()
{
    controller = new HomeController();
    controller.ControllerContext = MockRepository.GenerateStub<ControllerContext>();
}
0

Source: https://habr.com/ru/post/1771758/


All Articles