【发布时间】:2014-06-12 05:53:53
【问题描述】:
我最近正在使用 JUnit 和 Mockito 进行 TDD。出于某种方法内的目的,我使用了 Util 类(在项目上下文中具有方法的实用程序类)。我面临的问题是如何在 Mockito 中模拟此类课程。我无法在 Mockito 中找到有关静态方法的此类实现。有人建议在 Mockito 之上使用 PowerMock,但这不会取代我的 JunitMockitoRunner 吗?
我使用静态函数的方式是:
public void doSomething(int x){
//Some code
Y y = Util.someStaticMethod(x);
//Some more code
}
编辑:我还在某处读到,使用静态方法是一种代码异味,是设计不良的标志。那么我应该如何重构设计以及我将获得哪些优势呢?
【问题讨论】:
-
您的问题与查询标题有何关系。
-
嗨,Shail,我刚刚提供了 EDIT :)
-
在 JDK 中,有几个很好的静态类示例。集合、数组...
-
我不认为它一定表明设计不好(可能取决于你如何使用它)。它通常是实用程序的首选。 (您可以在 java API 本身中找到许多示例)
-
@Sourabh 如果重构您的代码是不可能的,那么 PowerMock 几乎是您唯一的选择!不要因为它使用自己的跑步者而被推迟,这应该不是问题
标签: java junit mockito static-methods