Bird
0
0

Which of the following is the correct way to declare a test class using @WebMvcTest for a controller named UserController?

easy📝 Syntax Q12 of 15
Spring Boot - Testing Spring Boot Applications
Which of the following is the correct way to declare a test class using @WebMvcTest for a controller named UserController?
A@WebMvcTest(UserController.class) public class UserControllerTest {}
B@WebMvcTest public class UserControllerTest {}
C@WebMvcTest(services = UserController.class) public class UserControllerTest {}
D@WebMvcTest(controllers = UserController.class) public class UserControllerTest {}
Step-by-Step Solution
Solution:
  1. Step 1: Check @WebMvcTest syntax for specifying controllers

    The correct syntax to specify which controllers to test is using the 'controllers' attribute, e.g., @WebMvcTest(controllers = UserController.class).
  2. Step 2: Eliminate incorrect options

    @WebMvcTest(UserController.class) public class UserControllerTest {} misses 'controllers =' keyword, @WebMvcTest public class UserControllerTest {} does not specify controller, @WebMvcTest(services = UserController.class) public class UserControllerTest {} wrongly uses 'services' attribute.
  3. Final Answer:

    @WebMvcTest(controllers = UserController.class) public class UserControllerTest {} -> Option D
  4. Quick Check:

    @WebMvcTest(controllers = ...) is correct syntax [OK]
Quick Trick: Use 'controllers =' to specify controller class in @WebMvcTest [OK]
Common Mistakes:
  • Omitting 'controllers =' keyword
  • Using 'services =' instead of 'controllers ='
  • Not specifying any controller class

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Spring Boot Quizzes