6

Hi I'm new to Spring and to Junit as well. I have a method in my controller. I want to write Junit for this method (getPersons()).

@Autowired
private PersonService personService;

@RequestMapping(value="/t2/{yy_id}/person", method=RequestMethod.GET)
@ResponseBody
public PersonInfo[] getPersons() {

    return personService.getPersons();
}

Can someone please help me and guide me in a right manner. Please give some example.

0

1 Answer 1

9

You should use the mvc test framework. It allows you to test all the mvc infrastructure - e.g. the @RequestMapping, @ResponseBody etc... - around your controller in addition to your own collaborators.

A very simple example of using the framework would be invoking the getPersons() method and asserting a 200 response code is received:

...
@Test
public void getPersons() throws Exception {
    this.mockMvc.perform(get("/t2/1234/person"))
      .andExpect(status().isOk());
}
...

The framework is capable of much more but I urge you to read the documentation, there are plenty of examples included. I hope that helps.

Sign up to request clarification or add additional context in comments.

2 Comments

Hi Johnathan I agree with your answer and I have tried few things there but Still I'm facing some issues. I have updated my question can you tell me what wrong with it.
@Saurabh It would be better if you ask a new question. It's difficult to tell, however, ensure you have the correct static import declarations from MockMvcResultMatchers and MediaType. There are further samples here that may help.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.