Java Interview Questions – Testing (JUnit, Mockito, Integration Tests)
Q1: [Amazon] What is JUnit in Java?
Answer: JUnit is a framework for writing unit tests in Java.
Q2: [Google] What is the difference between unit testing and integration testing?
Answer:
- Unit Testing: Tests individual components (methods, classes).
- Integration Testing: Tests how components work together.
Q3: [Microsoft] What is a mock object in Java testing?
Answer: A mock object is a fake object that mimics real dependencies using Mockito.
Q4: [Netflix] How do you mock a dependency in Java?
Answer:
@Mock
MyService myService;
Q5: [Facebook] What is the purpose of @BeforeEach and @AfterEach in JUnit?
Answer:
- @BeforeEach: Runs before each test.
- @AfterEach: Runs after each test.
Q6: [Oracle] What is Test-Driven Development (TDD)?
Answer: TDD is a process where tests are written before writing actual code.
Q7: [Uber] How do you write a parameterized test in JUnit?
Answer:
Using @ParameterizedTest:
@ParameterizedTest
@ValueSource(ints = {1, 2, 3})
void test(int value) { assertTrue(value > 0); }
Q8: [Deloitte] What is the difference between assertEquals() and assertSame()?
Answer:
- assertEquals(): Checks value equality.
- assertSame(): Checks reference equality.
Q9: [JP Morgan] What is Spring Boot Test?
Answer: @SpringBootTest is used for integration testing in Spring Boot applications.
Q10: [Goldman Sachs] What is the purpose of Cucumber in Java testing?
Answer: Cucumber is used for Behavior-Driven Development (BDD) testing.
