Question: Is there a reason why you shouldn't create a partial fake of an object or just fake one method on the object that you are testing of it for the sake of testing another method? This might be helpful to save you from making an entire new mock object, or when there is an external dependency in the method you are faking which you can't reasonably get rid of and would like to keep out of all the other unit tests?

Answer: 
If the method you want to fake is virtual (as in, not static and not final), then you can subclass your object in your test, override the method in the subclass, and exercise the subclass in the test. No mock-object libraries required.

(Ideally you should consider refactoring, this is not a great long-term solution. But it is a way to get legacy code under test so you can start the refactoring process more easily.)
There are some really nice packages for facilitating this kind of stuff. For instance, from the [Mockito docs](http://docs.mockito.googlecode.com/hg/org/mockito/Mockito.html):

```
//You can mock concrete classes, not only interfaces
LinkedList mockedList = mock(LinkedList.class);

//stubbing
when(mockedList.get(0)).thenReturn("first");

```

does some real magic that's hard to believe at first. When you call

```
String firstMember = mockedList.get(0);

```

you'll get back "first", because of what you said in the "when" statement.