- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是我的测试助手:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath*:WEB-INF/spring/appServlet/servlet-context.xml" })
public class TestHelper {
@Mock
private UserDaoImpl userDaoImpl;
@InjectMocks
private Helper helper=new Helper();
private MockMvc mockMvc;
String msg = "Success";
int status = 200;
ResponseMessage message = new ResponseMessage();
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
this.mockMvc = MockMvcBuilders.standaloneSetup(helper).build();
}
@Test
public void testCategories() throws Exception {
message = helper.getCategories(0);
assertNotNull(message);
Assert.assertEquals(status, message.getStatus());
Assert.assertEquals(msg, message.getMessage());
} }
这是我的助手类:
public class Helper extends BaseHelper {
@Autowired
private UserDao userDao;
private static final Logger logger = LoggerFactory
.getLogger(Helper.class);
public ResponseMessage getCategories(int categoryID) {
logger.info("**Helper getCategories() entry*****");
ResponseMessage message;
try {
List<Category> categories = userDao
.getCategories(categoryID);
String jsonConverted = Utility
.convertToJsonString(categories);
com.fasterxml.jackson.databind.ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper();
Object obj = mapper
.readValue(
jsonConverted,
new TypeReference<List<Category>>() {
});
message = prepareResponse(obj, 200, "Success");
} catch (Exception e) {
logger.error("****Exception in Helper getCategories() : "
+ e.getStackTrace());
message = prepareResponse( null, 500,
e.getMessage());
}
logger.info("***Helper getCategories() exit****");
return message;
}
}
这是我的 UserDaoImpl 类:
public class UserDaoImpl implements UserDao {
private static Properties applicationProperties;
static {
applicationProperties = Utility.loadAppProperties();
}
public List<Category> getCategories(int category_id) {
Session session = null;
List<Category> categories = null;
try {
session = sessionFactory.getCurrentSession();
logger.info("enter into getCategories from method's body");
Transaction tx = session.beginTransaction();
if (!Utility.isZeroInt(category_id)) {
List list = session.createCriteria(Category.class).add(Restrictions.eq("category_id", category_id))
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
categories = list;
} else {
List list = session.createCriteria(Category.class).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
.list();
categories = list;
}
tx.commit();
} catch (Exception e) {
throw new DataException("Unable to get categories. Please try after some time.");
}
logger.info("exit from getCategories method's body");
return categories;
}
}
当我测试我的助手类时,我在 userdaoimpl 类的 applicationProperties = Utility.loadAppProperties();
上收到错误。错误是java.lang.ExceptionInInitializerError
。此错误是在加载 userdaoimpl 类中的属性文件时产生的。
this is the stack trace
java.lang.ExceptionInInitializerError
at com.zon.dao.UserDaoImpl.<clinit>(UserDaoImpl.java:71)
at sun.reflect.GeneratedSerializationConstructorAccessor1.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.objenesis.instantiator.sun.SunReflectionFactoryInstantiator.newInstance(SunReflectionFactoryInstantiator.java:40)
at org.objenesis.ObjenesisBase.newInstance(ObjenesisBase.java:59)
at org.mockito.internal.creation.jmock.ClassImposterizer.createProxy(ClassImposterizer.java:111)
at org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:51)
at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:54)
at org.mockito.internal.MockitoCore.mock(MockitoCore.java:44)
at org.mockito.Mockito.mock(Mockito.java:882)
at org.mockito.internal.configuration.DefaultAnnotationEngine.processAnnotationOn(DefaultAnnotationEngine.java:59)
at org.mockito.internal.configuration.DefaultAnnotationEngine.createMockFor(DefaultAnnotationEngine.java:34)
at org.mockito.internal.configuration.DefaultAnnotationEngine.process(DefaultAnnotationEngine.java:84)
at org.mockito.internal.configuration.InjectingAnnotationEngine.process(InjectingAnnotationEngine.java:41)
at org.mockito.MockitoAnnotations.scan(MockitoAnnotations.java:110)
at org.mockito.MockitoAnnotations.initMocks(MockitoAnnotations.java:95)
at com.zon.testHelper.TestHelper.setup(TestHelper.java:64)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)
Caused by: java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Unknown Source)
at java.util.Properties.load0(Unknown Source)
at java.util.Properties.load(Unknown Source)
at com.zon.utils.Utility.<clinit>(Utility.java:27)
... 39 more
最佳答案
Caused by: java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Unknown Source)
上面的异常表明它无法找到属性文件。尝试将属性文件放在类路径的根目录下。
关于UserDaoImpl 处的 java.lang.ExceptionInInitializerError。<clinit>(UserDaoImpl.java :71),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37428164/
我知道 new、dup、invokespecial 和 astore 字节码模式将调用初始化方法 在类实例化期间。什么调用了特殊的 方法,什么时候发生? 我的猜测是 在之前 方法被调用。这是否记
对于特定类,一个方法只执行一次是否正确? 最佳答案 我创建了测试类并按如下方式引用它 新运算符 反射(reflection) block 仅被引用 1 次 public class ClinitTe
我无法理解下面的文字... 是否意味着 是为空的构造函数?为什么拥有两个不同的版本很重要? https://docs.oracle.com/javase/specs/jvms/se7/html/jvm
当我看到 JVM 规范时,它说每个类最多有一个类初始化方法,那就是“clinit”,所以我认为我们应该有一些命令来查看该方法是如何在 .class 文件中编码的。 一开始我以为用javap就可以了,但
我正在使用 iCal4J 向 MS Outlook 发送约会,效果很好,约会正在进行中。但是我的控制台显示以下内容: Oct 24, 2013 9:53:57 AM net.fortuna.ical4
这是我的测试助手: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = { "classpa
我开始学习Hibernate,出现这样的错误: exception javax.servlet.ServletException: Servlet execution threw an excepti
我是android游戏开发人员的新手,但经过几个月的工作,我终于在ue4中完成了游戏的制作。 但是,当将其上传到Google Play的Alpha轨道上,然后尝试启动该应用程序时,它会崩溃。 错误本身
最近我们在 AS 3.0.1 中注意到了这些警告: Error:WARNING in butterknife.Unbinder.:()V: defining a static interface me
我正在创建一个应用程序,但出现如下所示的错误。 我正在使用 Tomcat 6.0 和 Spring 3.0。 SEVERE: Servlet.service() for servlet jsp thr
我正在使用 Httpclient-4.5.2.jar 和 httpcore-4.4.4.jar HttpClient 组件,但出现以下错误。 Exception in thread "main" ja
我的请求URL中有字符[和],项目部署在Tomcat8.5.33上。当我发布请求时发生了一些异常。 20-Sep-2018 10:55:36.494 WARNING [http-nio-8075-ex
我成功使用了我编写的 Java 命令行程序使用 Apache POI 文件读取 MicrosoftWord (.docx) 文件并邮寄。我希望将其打包为可执行 jar。 我正在创建这个通过获取我的应用
我是一名优秀的程序员,十分优秀!