私はこれで完全に混乱しています。私は単体テストの完全なパッケージを実行しています。ここでJUnitテストの数で使用されます関連する共有コードがあります:私は何をしないのですHashMap containsKey()が文字列をキーとして失敗する原因は何ですか?
Created new context for 'com.somecompany.xmlschema.providepensionpaymentinfo.Interface'
Created new context for 'com.somecompany.xmlschema.providepensionpaymentinfo.Interface'
:
private static Map<String, JAXBContext> jaxbContexts =
new HashMap<String, JAXBContext>();
private synchronized JAXBContext getJAXBContext(Class clazz) throws JAXBException {
JAXBContext context = null;
if (jaxbContexts.containsKey(clazz.getName())) {
context = jaxbContexts.get(clazz.getName());
} else {
context = JAXBContext.newInstance(clazz);
System.out.println("Created new context for '" + clazz.getName() + "'");
jaxbContexts.put(clazz.getName(), context);
}
return context;
}
JUnitの実行からコンソール出力は、以下の2つの連続したエントリが含まれて? jaxbContexts.containsKey()
は、JUnitの実行中に他の46回とは異なり、このインスタンスでStringベースのキーが動作しないのはなぜですか?テストは並行して実行しているわけではありませんが、違いがある場合はAspectsを使用します。
これらの2つの行の間にJVMの停止/開始がないことは確かですか? – Pointy