我一直在使用Mockito对我的代码中的动作类进行单元测试。我几乎每一个动作都成功地进行了端到端测试。此特定操作依赖于ActionContext来检索会话,我必须提醒您,不可能使用SessionAware和setSessionAttributes()的实现替换现有代码。
基本上,我得到的错误是Action Context上的空指针异常,即使经过大量调查,异常仍然存在。
导致此错误的特定代码是:
book = (Book) ActionContext.getContext().getSession().get("sessionKey");
我得到的错误日志是:
java.lang.NullPointerException
at com.syb.ao.test.ApplyPromoDetailsTest.prepareTests(ApplyPromoDetailsTest.java:72)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.junit.internal.runners.MethodRoadie.runBefores(MethodRoadie.java:132)
at org.junit.internal.runners.MethodRoadie.runBeforesThenTestThenAfters(MethodRoadie.java:95)
我已经尝试了一切可以让它运行但却无法找到解决方案。