0
我写一个JUnit在那里调用恒类,在这里我们试图访问一个静态最终名单错误的JUnit静态最终名单
public static final List<String> SKIPPED_DIMENSION_LIST = new ArrayList<String>();
static{ SKIPPED_DIMENSION_LIST.add(PRODUCT_CATEGORY_DISPLAY);
SKIPPED_DIMENSION_LIST.add(PRODUCT_CATEGORY_SUB);
SKIPPED_DIMENSION_LIST.add(PRODUCT_CATEGORY_SUB_GROUP);
SKIPPED_DIMENSION_LIST.add(PRODUCT_CATEGORY_SUB_GROUP_ID);
SKIPPED_DIMENSION_LIST.add(PRODUCT_CATEGORY_ID);
SKIPPED_DIMENSION_LIST.add(PRODUCT_CATEGORY_GROUP_ID); }
现在,在访问通过名单JUnit线程我得到这个错误。
java.lang.ExceptionInInitializerError
at java.lang.J9VMInternals.initialize(J9VMInternals.java:222)
at com.mns.commerce.searchnav.constants.MSEndecaConstants.<clinit>(MSEndecaConstants.java:169)
at java.lang.J9VMInternals.initializeImpl(Native Method)
at java.lang.J9VMInternals.initialize(J9VMInternals.java:200)
at com.mns.commerce.searchnav.utils.MSSearchResposeBOTransformer.getRefinementsDetails(MSSearchResposeBOTransformer.java:460)
at com.mns.commerce.searchnav.utils.MSSearchResposeBOTransformer.buildFacets(MSSearchResposeBOTransformer.java:362)
at com.mns.commerce.searchnav.utils.MSSearchResposeBOTransformer.populateResults(MSSearchResposeBOTransformer.java:106)
at com.mns.commerce.searchnavunit.test.MSSearchResposeBOTransformerTest.testPopulateResults(MSSearchResposeBOTransformerTest.java:97)
然而,如果静态Enum
定义,而不是static final list
那么它工作正常。任何想法为什么发生这种情况?
如果从列表声明中删除最终修饰符会发生什么? – JamesB 2012-07-27 07:39:58
尝试在静态初始化器中的代码周围放置try/catch(Throwable t)块,并查看它是否实际上抛出了某些描述的异常。这会给你一个更好的线索。 – 2012-07-27 08:52:41
有关于此的任何更新? – Sikorski 2012-07-27 08:54:44