Sample code in framework\'s AssemblyInfo.cs:
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo
(\"Test.Com
I think it's perfectly reasonable to do that.
I find it very useful for dependency injection. If I have a class with a constructor that takes in a few dependencies to allow it to be unit tested I often mark it internal and expose it in my unit test project. Then I'd have a public (parameterless, or at least with far fewer parameters) constructor. This keeps the public interface clean and still allows for testable code.