Michele Vivoda created JXPATH-165: ------------------------------------- Summary: Test order and JXPathContextReferenceImpl.removeNodePointerFactory Key: JXPATH-165 URL: https://issues.apache.org/jira/browse/JXPATH-165 Project: Commons JXPath Issue Type: Improvement Reporter: Michele Vivoda Priority: Minor
Running the test folder with Eclipse 'run as junit test' one JXPath test failed: {{LazyDynaBeanTest.testLazyProperty()}}. The test does not fail when run in isolation. This happens because there is an other test {{testStrictLazyDynaBeanPropertyFactory()}} in the same file that registers a {{StrictLazyDynaBeanPointerFactory}}, if the test order is not source order then test fails. Splitting in two test files does not help, still order dependent. For this reason I suggest to create a new {{removeNodePointerFactory}} method in {{JXPathContextReferenceImpl}} that could be used in a finally block to restore the initial environment. Implementation should be straightforward observing the existing code of {{addNodePointerFactory}}: {noformat} public static void removeNodePointerFactory(NodePointerFactory factory) { synchronized (nodeFactories) { nodeFactories.remove(factory); nodeFactoryArray = null; } } {noformat} -- This message was sent by Atlassian JIRA (v6.1.5#6160)