welcome to the club !
I agree with the hard to do with revit API part. My external commands usually just instantiate the objects in my application and hand over the data. Everything after that can be tested easily. Needless to say, I have my tests restricted to the functionality past the invoking of externalcommand. I kinda know what data I would want from the document and may have to create some for testing purposes.
My applications mostly read from the document and rarely push/move anything geometrically.
I would like to hear what you guys do!
Prashant