2017-10-28 48 views
0

在我的测试中似乎一切正常,但我不断收到此错误的书籍服务调用找到所有 我嘲笑我正确使用的类。Java lang断言错误意外的方法调用BookService findAll()

@Test 
    @WithMockUser(username = "admin", roles={"ADMIN"}) 
    public void bookRemoveTest() throws Exception { 
     Book book = new Book(); 
     List<Book> expectedBookList = createBookList(10); 

     /* expect */ bookService.removeOne(anyLong()); 
     EasyMock.expectLastCall(); 
     replay(bookService); 
     bookService.removeOne(anyLong()); 

     // Assert.assertEquals("expectedBookList", bookService.findAll()); 
     expect(bookService.findAll()).andReturn(expectedBookList); 

     mockMvc 
       .perform(post("/book/remove") 
         .accept(MediaType.TEXT_HTML) 
         .contentType(MediaType.TEXT_HTML) 
         .param("id","12345678")) 

       .andExpect(model().attributeExists("bookList")) 
       .andExpect(view().name("bookList")) 
       .andExpect(content().contentType(MediaType.TEXT_HTML)) 
       .andReturn(); 
    } 

回答

0

在完成设置后应该调用重放方法。 所以请在replay(bookService)之前拨expect(bookService.findAll()),这应该是好的。

+0

我这样做,我得到了 – valik

+0

产生的原因:java.lang.AssertionError: 意外的方法调用BookService.removeOne(12345678): BookService.removeOne():预测:1,实际:2 BookService.findAll( ):expected:1,actual:0 @Admit – valik

+0

如果你检查你的代码 - 你只是在重放之后(1)和你的代码(2)中调用removeOne。你也没有打电话给findAll。 – Admit