2017-10-28 7 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

코드를 확인하면 테스트 코드에서 replay (1) 바로 뒤에 rest 코드를 호출하고 나머지 코드 (2)는 removeOne을 호출합니다. 또한 findAll을 전혀 호출하지 않습니다. – Admit