使用MockMVC获取GET方法的完整数据

时间:2019-07-29 09:40:55

标签: java unit-testing groovy mockmvc

我正在尝试测试我的所有事件获取方法。因此,我试图首先将一个事件填充到数据库中,然后通过MockMVC执行get方法。但是它返回的是空内容。

我试图更改特定的注释,例如eventService上的MockBean / Autowired。还尝试更改测试类的注释。事件控制器具有以下3个注释:

@RequestMapping("/event")
@CrossOrigin
@RestController

添加事件的方法

public void addEvent(final Event event)
    {
        eventRepository.save(event);
    }

获取事件的方法

public Iterable<Event> getAll()
{
        return eventRepository.findAll();
}

测试get方法

@SpringBootTest
@AutoConfigureMockMvc
class EventControllerTest extends Specification {

    @MockBean
    private EventService eventService

    @Autowired
    private MockMvc mockMvc

    def "whet get is performed on all endpoint the response has status 200"()
    {

        given:
             eventService.addEvent(new Event(new Date(), "type", "league", "team", "msg"))

         expect: "the status is 200"

         when:
              ResultActions resultActions = mockMvc.perform(get("/event/all"))

我希望方法返回一个事件,但实际上它返回0。

0 个答案:

没有答案