package org.mockitousage.performance; import org.junit.Ignore; import org.junit.Test; import static org.mockito.Mockito.*; public class StubOnlyAvoidMemoryConsumptionTest { @Test public void using_stub_only_wont_thrown_an_OutOfMemoryError() { Object obj = mock(Object.class, withSettings().stubOnly()); when(obj.toString()).thenReturn("asdf"); for (int i = 0; i < 1000000; i++) { obj.toString(); } } @Test @Ignore("ignored because it will detonate our test suite with an OOM for real") public void without_stub_only_mocks_will_store_invocations_leading_to_an_OutOfMemoryError() { Object obj = mock(Object.class, withSettings()); when(obj.toString()).thenReturn("asdf"); for (int i = 0; i < 1000000; i++) { obj.toString(); } } }