我正在尝试测试我的所有事件获取方法。因此,我试图首先将一个事件填充到数据库中,然后通过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。