c# - Unit Testing error "Object reference not set to an instance of an object." -


in controller want test if controller calling repository method. here method in controller

[httpget] public actionresult getmodulepropertyname(string moduletypevalue) {   var temp = _modulerepository.getmodulekindpropertynames(moduletypevalue);    ilist<property> model = temp      .select(item => new property {name = item})      .tolist();    return partialview("getmodulepropertyname",model); } 

and here test method

[testmethod] public void getmodulepropertyname_action_calls_getmodulekindpropertynames() {   _mockrepository.stub(x => x.getmodulekindpropertynames(arg<string>.is.anything));    _controller.getmodulepropertyname(arg<string>.is.anything);    _mockrepository.assertwascalled(x=>x.getmodulekindpropertynames(arg<string>.is.anything)); } 

it throws error saying

test method adminportal.tests.modulecontrollertests.getmodulepropertyname_action_calls_getmodulekindpropertynames threw exception:  system.nullreferenceexception: object reference not set instance of object.     @ system.linq.queryable.select(iqueryable`1 source, expression`1 selector)    @ adminportal.areas.hardware.controllers.modulecontroller.getmodulepropertyname(string moduletypevalue) in modulecontroller.cs: line 83    @ adminportal.tests.modulecontrollertests.getmodulepropertyname_action_calls_getmodulekindpropertynames() in modulecontrollertests.cs: line 213 

i'm using rhinomock mocking tool. can mistake i'm making?

after stubbing method use return indicate should return, example:

_mockrepository   .stub(x => x.getmodulekindpropertynames(arg<string>.is.anything))   .return(enumerable.empty<string>().asqueryable()); 

also, change line:

_controller.getmodulepropertyname(arg<string>.is.anything); 

to this:

_controller.getmodulepropertyname(string.empty); 

as exception explains - arg used in mock definitions.


Comments

Popular posts from this blog

assembly - 8086 TASM: Illegal Indexing Mode -

Java, LWJGL, OpenGL 1.1, decoding BufferedImage to Bytebuffer and binding to OpenGL across classes -

javascript - addthis share facebook and google+ url -