亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Mokito 無法模擬方法并且斷言總是失敗

Mokito 無法模擬方法并且斷言總是失敗

aluckdog 2021-05-30 13:19:11
我無法模擬我的 getUserCards 返回空列表。它總是從數據庫中獲取信息。你有什么想法?我附上我的 get 請求和 mockito 實現。我想設置 getUserCards 方法總是返回一個空列表,但我不能被嘲笑@Beforepublic void setUp() throws Exception{    //cards.add(new Card());    CardService mock = Mockito.mock(CardService.class);    Mockito.when(mock.getUserCards("1234"))            .thenReturn(cards);}@Testpublic void testMockCards() throws Exception{    mockMvc = MockMvcBuilders.standaloneSetup(cardController).build();    MockHttpServletResponse response = mockMvc.perform(            MockMvcRequestBuilders.get("/cards")    )            .andDo(MockMvcResultHandlers.print())            .andExpect(MockMvcResultMatchers.status().isOk())            .andReturn().getResponse();    ObjectMapper mapper = new ObjectMapper();    List<Card> cardResponse = mapper.readValue(response.getContentAsString(),        new TypeReference<List<Card>>(){});    Assert.assertEquals(cards, cardResponse);}得到@RequestMapping(value = "/cards", method = RequestMethod.GET)@JsonView(Views.Public.class)public List<Card> getUserCards({  session.getEntityUserId());}
查看完整描述

1 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

您必須將模擬注入控制器,否則您的控制器將使用配置中的 spring bean。

您可以將模擬傳遞給 Controller 構造函數或閱讀 @InjectMocks/@MockBean 注釋。


查看完整回答
反對 回復 2021-06-02
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號