如何解决使用@RunWith(PowerMockRunner.class) 时是否有方法保证创建的对象是单例的
我在我的测试类中添加了@RunWith(PowerMockRunner.class),并在每个测试用例中创建了一个对象,而创建的对象不是预期的。那么我该怎么做才能保证创建的对象是单例的
@RunWith(PowerMockRunner.class)
public class DemoConfigTest1 {
@Test
public void testDemo1() {
System.err.println("testDemo1 single object signature: " + SingleObject.getINSTANCE().getRandom());
}
}
@RunWith(PowerMockRunner.class)
public class DemoConfigTest2 {
@Test
public void testDemo2() {
System.err.println("testDemo2 single object signature: " + SingleObject.getINSTANCE().getRandom());
}
}
public class SingleObject {
private static volatile SingleObject INSTANCE = null;
private String random;
private SingleObject() {
random = String.valueOf(new Random().nextInt(1000));
}
public static SingleObject getINSTANCE() {
if (INSTANCE == null) {
synchronized (SingleObject.class) {
if (INSTANCE == null) {
INSTANCE = new SingleObject();
}
}
}
return INSTANCE;
}
public String getRandom() {
return random;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。