If you're using JUnit to write unit tests, one way to set a field that is set on a mocked service is to use the @Mock
and @InjectMocks
annotations.
Here's an example of how you might do this:
@Mock
private SomeService someService;
@InjectMocks
private SomeClass someClass;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
In the example above, @Mock
is used to create a mocked instance of SomeService
. Then, @InjectMocks
is used to inject this mocked service into an instance of SomeClass
, which is the class that we want to test. Finally, the setUp()
method is used to initialize the mocked objects using MockitoAnnotations.initMocks()
.
Once you have set up the mock objects using these annotations, you can use Mockito's when()
and thenReturn()
methods to specify the behavior of the mocked service. For example:
when(someService.someMethod()).thenReturn(someValue);
This tells Mockito to return someValue
when someMethod()
is called on the someService
mock. This allows you to control the behavior of the mocked service, so you can test different scenarios in your unit tests.
No comments:
Post a Comment