Да. Ваши модульные тесты должны быть отдельным проектом, который компилируется в свою собственную DLL.
Это означает, что вы не развертываете тестовый код вместе с вашим проектом - и это поощряет хороший дизайн (так как ваши тесты не могут видеть частные / внутренние свойства, вы, естественно, будете стремиться к тестированию тех частей вашего проекта, которые взаимодействуют с другие системы, вместо того, чтобы зацикливаться на тестировании каждой детали их внутренней реализации)
Что касается именования, мы обычно выбираем «кодовое имя» для каждого проекта - текущий называется «Занзибар» - и затем получаем такие проекты, как:
MyCompany.Zanzibar.Website (веб-приложение ASP.NET MVC)
MyCompany.Zanzibar.Website.Testing (содержит модульные тесты для веб-приложения MVC)