mocking - C# set value of private variable -
this private value want set
 private phaselist stages; this test
    mockrepository mocks = new mockrepository();         mocks.stub<useraction>();         game g = new game(players, cardlist);         type stage = typeof(phaselist);         fieldinfo stinfo = stage.getfield("stages",         bindingflags.nonpublic | bindingflags.instance);          phaselist p = new phaselist();         p.add(new discardphase(players[0]));         p.add(new discardphase(players[0]));         stinfo.setvalue(g, p);         g.processuserinput(0, mocks.stub<useraction>()); i error:
system.nullreferenceexception: object reference not set instance of object. it points line:
stinfo.setvalue(g, p); i dont understand why stinfo=null;
can me?
you're attempting type of phaselist class, , private field inside named stages. doesn't have field named "stages", i'm assuming, null.
what do have field named "stages" in other class that's potentially instance of phaselist class.
type stage = typeof(whatever_class_has_the_stages_field_in_it);  fieldinfo stinfo = stage.getfield("stages", bindingflags.nonpublic | bindingflags.instance); 
Comments
Post a Comment