【问题标题】:How can i mock this我怎么能嘲笑这个
【发布时间】:2013-12-24 11:22:51
【问题描述】:

我需要模拟这些对象,但我不会。

我编辑了测试:

LinkedList<String> listExemptCookies = Mockito.mock(LinkedList.class);
    when((List<String>) portletSession.getAttribute("exemptCookiesListSession")).thenReturn(listExemptCookies);
    when(new LinkedList<String>(configPortlet.getExemptCookiesList(request))).thenReturn(listExemptCookies);

这是代码:

List<String> listExemptCookies = new LinkedList<String>(getExemptCookiesList(request));

getExemptCookiesList 返回一个数组列表,我在第一次嘲笑它时..但是在尝试最后一次时给了我 nullPointerException..

【问题讨论】:

  • 你真的有两个 List 分别命名为 exemtpCookiesListlistExemptCookies 在同一个函数中吗?
  • 我认为您不需要模拟列表。你不能用一个真实的吗?
  • 顺便说一句,即使可以,构造函数也永远不会返回 null。
  • 我有两个具有不同实现的列表,因为我需要使用字符串调用 .contains 方法,而这只能使用链表而不是数组列表。
  • 空返回是示例,它不是我的真实代码。以及如何测试对象是否正确添加?

标签: unit-testing junit mocking mockito


【解决方案1】:

您可以使用 Powermock 模拟 LinkedList 构造函数。查看使用详情here

【讨论】:

    猜你喜欢
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    相关资源
    最近更新 更多