Как лучше организовать несколько проектов в одном решении и соответствующие им модульные / интеграционные тесты? - PullRequest
1 голос
/ 06 ноября 2010

Я делаю проект AI, который в настоящее время имеет следующую структуру пространства имен / пакета:

alt text

Моя идея состоит в том, чтобы провести несколько юнит-тестов / интеграционных тестов для каждого из модулей (вероятно, не для всех из них. Запуск, вероятно, не будет тестироваться).

Каждый из этих «основных» пакетов находится в отдельном физическом файле. Я хотел бы знать, что вы думаете, будет лучше:

  • Наличие для каждого физического файла X.dll файла X.Tests.dll
  • Наличие физического файла «Тесты», в котором содержится множество тестов (не кажется хорошей идеей).
  • Включение тестов Breakthrough в Breakthrough.dll, AI.GeneticAlgorithms в AI.GeneticAlgorithms.dll и т. Д. Мне нравится это решение, так как тогда у меня не будет загроможден проводник решения Visual Studio полным набором тестов. проекты.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 06 ноября 2010

У меня будет один Test.dll для каждого .dll. Это способ, которым я привык работать, и я думаю, что это хороший метод. Вы сейчас где то, что тестируется.

Как уже указывал Лиам, реализация и тесты не должны быть в одной и той же dll. Это излишне увеличивает размер доставляемого dll, и вам необходимо доставить все зависимости тестов (например, каркас модульного тестирования, макеты и т. Д.)

1 голос
/ 06 ноября 2010

Лично у меня был бы один проект / сборка для запуска, один для тестов и один для всего остального.

Время сборки значительно увеличивается с несколькими проектами, поэтому чем меньше проектов, тем лучше. Если, конечно, вам не нужно иметь возможность развертывать различные пакеты отдельно.

Тесты, как правило, не включаются в проект, который они тестируют, поскольку для сборки требуется зависимость от любых используемых вами сред тестирования.

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