My problem is that I have public method in my class and it is calling a private method. The private method is calling another private method and so on with 4 chained private methods. I know that I should write unit tests only for public methods. In my case I will have full code coverage, because all private methods are called from the public method. But in case something goes wrong my unit test won't know exactly which method screwed it up. I know that I should try to move some of my methods in separate classes, so that I can test them but this means that I should make 4 different classes with only one method in each.
So is there a way to test each of these private methods, or I just should use the integrated feature in Visual Studio for testing private methods?