当前位置: 首页 > 知识库问答 >
问题:

使用Mockito调用多个其他方法的方法的单元测试

缑兴贤
2023-03-14
    null

共有1个答案

瞿兴朝
2023-03-14

拥有一个内部调用其他方法的方法是不是设计和实现得很差?

不是真的。但是我要说,在这种情况下,调用其他方法的方法应该被测试,就像其他方法没有被单独测试一样。也就是说,它可以保护您免受公共方法在您没有注意到的情况下停止调用其他方法的情况。

是的,它(有时)会产生很多测试代码。我相信这就是重点:编写测试的痛苦是一个很好的线索,您可能需要考虑将这些子方法提取到一个单独的类中。

public class Blah {
    public int publicMethod() {
        return innerMethod();
    }

    int innerMethod() {
        return 0;
    }
}


public class BlahTest {
    @Test
    public void blah() throws Exception {
        Blah spy = spy(new Blah());
        doReturn(1).when(spy).innerMethod();

        assertThat(spy.publicMethod()).isEqualTo(1);
    }
}
 类似资料:
  • 我确信这是一个很常见的问题,但我真的无法摆脱这个问题,我正在嘲弄私有方法,它内部调用另一个方法并返回一个集合。类有一个公共方法,它调用私有方法来获取集合对象。我使用PowerMock创建了一个私密方法的间谍。 测试类-: 因此,为了测试公共方法“method1”,我使用PowerMockito创建了一个spy来监视私有方法并返回一个演示列表。 上面调用private method,然后尝试调用Wr

  • 我是单元测试的新手,最近尝试了JUnit测试和Mockito。 我很困惑我该如何测试公共功能。

  • 问题内容: 是否有一种方法可以使每次调用方法时都会被调用的“超级方法”,即使对于未定义的方法也是如此?有点像这样: 编辑- 细节:我有一个库,该库进行了很多更新,并且每次更新都变得晦涩难懂。为了简化我的工作流程,我正在使程序自动更新库(需要执行我想做的事情,我不会具体说明原因,但是我的程序可以与将来的更新一起使用)并且我有混淆映射与库一起下载时,我想制作一种例如称为的代理,然后在我调用它时,将获得

  • 实际上,它的测试如果eat方法对宠物有效,但我也需要检查feedPet方法对玩家也有效。 任何想法或建议都非常感谢。

  • 所以我肯定有类似的东西在那里,但我已经搜索了一个小时,还没有找到确切的我要找的东西。假设我有一个这样的类: 我该如何制作这样的作品?

  • 问题内容: 我一直在寻找一种在测试方法中使用多个DataProvider的方法。我的情况如下: 假设我们有一个DataProvider类: 现在,在我的Test方法中,我要针对方案的所有组合运行: 绿广场 红方格 绿三角 红三角 鉴于我无法使用注释指定多个DataProvider,因此应如何在代码中实现此目标 问题答案: 由于缺乏更好的方法,我决定坚持解决方法。这是如何实现上述方案的示例: 这样,