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