2010-03-30 3 views
8

Я подумываю о том, где разместить проект интеграции/интеграции. Я следую 1 тестовому проекту pr. условность проектГде разместить проект тестирования блока

я могу думать о 3 способах, что все, кажется, хорошо для меня, что делает его довольно трудно выбрать :-)

  1. испытание проект ставится под собой Tests подпапки в проект тесты.
  2. Испытательный проект ставится рядом с проектом, который он тестирует, в папке «Project» .Tests. Я считаю, что это то, что рекомендует Рой Ошеров.
  3. Поместите все тестовые проекты в подпапку в корне. например \ Tests \ "project". Тесты
  4. Что-то еще?

Что вы выбираете и почему?

ответ

1

Я бы пошел с №1, так что, когда вы делаете проверку проекта, у вас также есть тесты. В противном случае тесты станут еще БОЛЕЕ последующей мыслью.

3

Мне нравится иметь все проекты на одном уровне физически. У меня нет большого аргумента, просто для простоты. Ведь визуальная студия показывает все проекты на одном уровне.

.../Project/Project.Web/ 
.../Project/Project.Model/ 
.../Project/Project.DataAccess/ 
.../Project/Project.UnitTest/ 
etc
4

Вариант 2 является моим предпочтительным. Помимо всего прочего, это просто по умолчанию, когда вы создаете новый проект библиотеки классов - он находится в том же каталоге решений, что и производственный проект (ы).

Чтобы противостоять аргументу о проверке проекта без его тестов, я считаю относительно редким проверить только проект, а не целое решение. Если вы являетесь более «основанным на проектах», чем «основанным на решении» магазином, это может изменить ситуацию.

2

Test проект ставится рядом с проекта проверяет, в «проект» .Tests папку. Я считаю, что это то, что Roy Osherove рекомендует.

Это мой личный фаворит. Это тот, который наиболее четко отражает намерение, а также позволяет легко увидеть, с какими проектными проектами идут проекты, если вы смотрите на них внутри каталога, или есть причина для группировки проектов в единое решение.

0

По умолчанию в решении Visual Studio 2010 Asp.Net MVC используется другой проект в рамках одного и того же решения. Это большая помощь, когда дело доходит до тестирования компиляции со всеми вашими ссылками.

0

Я считаю, что вариант 2 - лучший выбор. Тесты - отличный способ документировать код. Они проясняют семантику методов и классов. Программисту должно быть легко перейти к тестовому коду для некоторого метода, который он считает сомнительным.

С другой стороны, сохранение тестового кода в одном проекте может сделать скомпилированный двоичный выход больше и заставить проект иметь зависимости, необходимые только тестовым кодом.

Смежные вопросы