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: 
The objects you want to do this for are trying to do too many things. In particular, if you have an external dependency, you would normally create an object to isolate that dependency. The Façade pattern is one example of this. If your objects weren't designed with testability in mind you may have to do some refactoring. Take a look at [Michael Feathers' PDF on working with legacy code](http://www.objectmentor.com/resources/articles/WorkingEffectivelyWithLegacyCode.pdf)(PDF). He also has a book by the same title that goes into much more detail.
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.