相关疑难解决方法(0)

静态类和单例模式之间的区别?

静态类和单例模式之间存在什么真实(即实际)差异?

两者都可以在没有实例化的情况下调用,两者都只提供一个"实例",它们都不是线程安全的.还有其他区别吗?

singleton static design-patterns

1708
推荐指数
21
解决办法
48万
查看次数

嘲笑单身人士班

我最近读到,制作类单例使得无法模拟类的对象,这使得测试其客户端变得困难.我无法立即理解其根本原因.有人可以解释为什么不可能嘲笑单身人士课程?此外,还有更多的问题与制作班级单身人士有关吗?

java oop unit-testing

52
推荐指数
5
解决办法
6万
查看次数

JUnit测试:通过模拟来抑制枚举构造函数?

我知道可以模拟单个枚举(使用如何使用Mockito/Powermock模拟枚举单例类?),但我有1000个枚举值,它们可以调用5个不同的构造函数.枚举值通常在开发中发生变化.

我想真的只为我的JUnit测试模拟一两个.我不关心其余部分,但它们仍然是实例化的,它会调用一些讨厌的东西,它们从文件系统加载枚举的值.

是的我知道这是非常糟糕的设计.但是现在我没有时间改变它.

目前我们正在使用Mockito/powermock.但任何框架,可以解决这个问题,我的意思是糟糕的设计是受欢迎的.

假设我有一个与此类似的枚举:

public static enum MyEnum {
   A(OtherEnum.CONSTANT),
   B("1"),
   C("1", OtherEnum.CONSTANT),
   //...and so on for again 1000 enum values :(

   private double value;
   private String defaultValue;
   private OtherEnum value;

   /* Getter/Setter */
   /* constructors */
}
Run Code Online (Sandbox Code Playgroud)

java junit enums suppression mocking

7
推荐指数
1
解决办法
1437
查看次数