title: Why is @Spy only meant for dependencies?
body: <p>I see from <a href="https://stackoverflow.com/questions/38567326/is-it-discouraged-to-use-spy-and-injectmocks-on-the-same-field">this</a> post that &quot;@Spy and @Mock are always meant for dependencies, and not for your system under test.&quot;</p>
  <p>@Mock makes sense to me since all methods are stubbed. But spies call the actual method (unless stubbed) and provide useful functionality like being able to verify that a method was called n times. So I don't see why we would not use this annotation for our classes being tested.</p>