Я обычно имел сопоставление 1:1 между моими сборками продуктов и моими сборками unit test. Обычно я стараюсь, чтобы общее количество сборок было низким, и типичное решение может выглядеть примерно так...
- Клиент (содержит представления, контроллеры и т.д.)
- Client.Tests
- Общий (содержит контракты на данные/обслуживание, общие утилиты и т.д.)
- Common.Tests
- Сервер (содержит домен, услуги и т.д.)
- Server.Tests
- Server.WebHost
В последнее время на работе люди упоминают, что у него есть только один проект unit test, и он разбивает их на сборку, которую они тестируют. Я знаю в тот же день, это облегчило жизнь, если вы выполняли NCover и т.д. Как часть вашей сборки (теперь, конечно, не вопрос).
Каково общее рациональное отношение к одиночным или нескольким проектам UnitTest? Есть ли какая-то конкретная причина идти так или иначе, кроме сокращения количества проектов в решении? У меня создается впечатление, что это может быть одним из тех "предпочтений", но Googling не очень много.