単体テストに test-mvc を使用する方法に関する質問。
私は単純なコントローラーを持っています:
@Controller
@RequestMapping("/users")
public class UserController {
private UserService business;
@Autowired
public UserController(UserService bus)
{
business = bus;
}
@RequestMapping(value="{id}", method = RequestMethod.GET)
public @ResponseBody User getUserById(@PathVariable String id) throws ItemNotFoundException{
return business.GetUserById(id);
}
(( 私の考えは、コントローラーをできるだけ薄く保つことです。))
このコントローラーをテストするために、私はこのようなことをしようとしています。
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:mvc-dispatcher-servlet.xml"})
public class UserControllerTest extends ControllerTestBase {
UserService mockedService;
@Before
public void Setup()
{
MockitoAnnotations.initMocks( this );
mockedService = mock(UserService.class);
}
@Test
public void ReturnUserById() throws Exception{
User user = new User();
user.setName("Lasse");
stub(mockedService.GetUserById("lasse")).toReturn(user);
MockMvcBuilders.standaloneSetup(new UserController(mockedService)).build()
.perform(get("/users/lasse"))
.andExpect(status().isOk())
.andExpect(?????????????????????????????);
}
私の意図は、適切なjsonコードが返されることを確認することです,,,,,,
私はプロではないので、??????????????????????? を置き換える方法が見つかりませんでした。返された文字列を検証するコードを使用しますが、これを行うためのエレガントな方法が必要であると確信しています
誰でも私を埋めることができますか?
//lg