java - How to mock a cast object -


i new mock testing , wondering how go mocking following mockito.

udao = (userdao) dao; 

where dao defined

protected dao<t, long> dao; 

thanks!

to inject mocks private , protected fields (which not have public setter method) have use reflections. using reflections can set mocked object in place of protected field. below sample of relections code.

field hack = <put class name>.class.getdeclaredfield("dao"); hack.setaccessible(true); hack.set(<object of class injecting mock>,<the mock object>); 

to create mocked object can use regular powermockito.mock or mockito.mock functions.

for more info on reflections have @ below links:

is possible in java access private fields via reflection http://www.java2s.com/code/java/reflection/setprivatefieldvalue.htm


Comments