diff --git a/org.moreunit.plugin/src/org/moreunit/elements/MissingClassTreeContentProvider.java b/org.moreunit.plugin/src/org/moreunit/elements/MissingClassTreeContentProvider.java index 0b14021b..a5a0be78 100644 --- a/org.moreunit.plugin/src/org/moreunit/elements/MissingClassTreeContentProvider.java +++ b/org.moreunit.plugin/src/org/moreunit/elements/MissingClassTreeContentProvider.java @@ -13,6 +13,7 @@ import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jface.viewers.ITreeContentProvider; import org.eclipse.jface.viewers.Viewer; +import org.moreunit.log.LogHandler; import org.moreunit.ui.MissingTestsViewPart; import org.moreunit.util.PluginTools; @@ -41,7 +42,7 @@ public Object[] getChildren(Object parent) } catch (JavaModelException e) { - e.printStackTrace(); + LogHandler.getInstance().handleExceptionLog(e); } } return null; @@ -94,7 +95,7 @@ public Object[] getElements(Object inputElement) } catch (JavaModelException e) { - e.printStackTrace(); + LogHandler.getInstance().handleExceptionLog(e); } } } diff --git a/org.moreunit.test/test/org/moreunit/elements/MissingClassTreeContentProviderTest.java b/org.moreunit.test/test/org/moreunit/elements/MissingClassTreeContentProviderTest.java new file mode 100644 index 00000000..9079c057 --- /dev/null +++ b/org.moreunit.test/test/org/moreunit/elements/MissingClassTreeContentProviderTest.java @@ -0,0 +1,25 @@ +package org.moreunit.elements; + +import static org.assertj.core.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import org.eclipse.jdt.core.ICompilationUnit; +import org.eclipse.jdt.core.IPackageFragment; +import org.eclipse.jdt.core.JavaModelException; +import org.junit.Test; + +public class MissingClassTreeContentProviderTest +{ + @Test + public void should_not_throw_exception_but_return_null_when_java_model_exception_occurs() throws JavaModelException + { + MissingClassTreeContentProvider provider = new MissingClassTreeContentProvider(); + IPackageFragment mockFragment = mock(IPackageFragment.class); + when(mockFragment.getCompilationUnits()).thenThrow(new JavaModelException(new RuntimeException("Test exception"), 1)); + + Object[] result = provider.getChildren(mockFragment); + + assertThat(result).isNull(); + } +}