1. please explain what this means: "a solution that has 80% success"
2. in general you do not unit test private methods; after all, by definition they are only used from the public API
3. of course, the architecture of an app can be so screwed up that you can't isolate certain classes; as you describe, you may not be allowed to change the code, etc. Unit testing can't touch structural issues that.
4. if you really have to mess around with private methods, you could use reflection: [
^]
5. you could use AOP tools like PostSharp (commercial) [
^], and Fody (open source) [
^] to inject/weave logging code into the run-time app
I suggest you talk to your team members and/or manager, and get some clarification on what is expected of you. No one will think less of you for this !
imho, unit testing is a key part of a wider process of software qa that includes logging, identifying bottlenecks as well as bugs, performance tuning, and having real people (preferably "naive" end-users) bang away at your whatever and try to break it.