Я бы сделал пакет приватных методов видимым. Таким образом, вы держите его в секрете, но при этом можете тестировать эти методы. Я не согласен с людьми, которые говорят, что общедоступные интерфейсы - единственные, которые должны быть проверены. В приватных методах часто есть действительно критический код, который не может быть должным образом протестирован, только пройдя через внешние интерфейсы.
Так что это действительно сводится к тому, если вы заботитесь о правильном коде или сокрытии информации. Я бы сказал, что видимость пакета - это хороший компромисс, поскольку для доступа к этому методу кто-то должен поместить свой класс в ваш пакет. Это действительно должно заставить их задуматься о том, действительно ли это разумно.
Кстати, я парень из Java, поэтому пакет visiblilty в C # можно назвать совершенно другим. Достаточно сказать, что для доступа к этим методам два класса должны находиться в одном и том же пространстве имен.