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.