-
-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Related Projects
This is an extension written by the JUnit team that allows to create and inject mocks in the test (and set up / tear down) methods.
@ExtendWith(MockitoExtension.class)
class MockitoExtensionInBaseClassTest {
@Mock
private NumberGenerator numberGenerator;
@BeforeEach
void initialize(@Mock MyType myType, TestInfo testInfo) {
when(myType.getName()).thenReturn(testInfo.getDisplayName());
when(numberGenerator.next()).thenReturn(42);
}
@Test
void firstTestWithInjectedMock(@Mock MyType myType) {
assertEquals("firstTestWithInjectedMock(MyType)", myType.getName());
assertEquals(42, numberGenerator.next());
}
}
The project is located here
A Spring framework extension that simplifies creation of the mocks in the spring xml context files, ex:
<mockito:mock class="java.util.Date" id="mockedDate" />
<mockito:spy id="beanToBeSpied" />
The project homepage
An Spring framework extension that pushes former approach even further - all the configuration is annotations based - no need to create special mock overriding contexts. More info here
Project to investigate the possibility of injecting objects into Collections using generics to determine which objects and mock especially can be placed into the Collections.
@InjectMocks private MyDelegate delegate;
@Mock private MyListener listener1;
@Mock private MyListener listener2;
@Before public void setup() { MockitoCollectionAnnotations.inject(this);}
See here to read more about it.
Spock subject-collaborators extension is a port of the Mockito's @InjectMocks functionality for Spock.
It allows you to annotate your objects (most preferably system under test) with @Subject annotation (In Mockito it would be @InjectMocks). Any object that you would like to have injected to your @Subject annotated object you have to annotate with @Collaborator. The main difference between the approaches is such that here in Spock you have to create mocks manually and in Mockito @Mock annotation does that for you.
See here to read more about it.