| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Visual Studio, C++, UnitTests |
| Автор: artikov 18.10.2010, 10:07 | ||||
| Решил научится такой полезной вещи как юнит тесты. Использую библиотеку UnitTest++ (но это в принципе не важно). Есть у меня проект программы: MainProject:
чтоб прикрутить к нему тесты я создаю еще один проект: TestProject:
в runTests.cpp:
в foo1_test.cpp, foo2_test.cpp - тесты:
проблема в том, что когда мне надо добавить новые файлы в MainProject или изменить его настройки, те же самые изменения приходится делать с TestProject. Можно ли как нибудь избежать того, чтоб одни и те же действия нужно было делать дважды? Или может я делаю все совсем не так как надо? Тогда расскажите как делать правильно. |
| Автор: xvr 18.10.2010, 14:30 |
| Поместите в TestProject не копии кодов (foo?.*), а их оригиналы (т.е. те же самые файлы, что и в MainProject). Тогда ничего в 2х местах править не придется |
| Автор: artikov 18.10.2010, 14:55 |
| xvr, вы не правильно поняли, файлы foo?.* - общие. Проблема в том что если я хочу добавить новый файл foo3.cpp. Приходится в главном проекте жать Add New Item и затем в тестовом проекте - Add Exist Item -> foo3.cpp . То же самое с настройками проектов, если я хочу, например, подключить какую-нибудь библиотеку, то я должен прописать пути к h-файлам и lib-файлам в MainProject-е, и затем то же самое сделать для TestProject-a. |
| Автор: xvr 18.10.2010, 15:07 |
| Понял, это немного другая проблема. Ее можно решить сделав из общих сорцов отдельный проект - статическую библиотеку, и поставить зависимости от нее обеим оригинальным проектам. Всю заботу по сборке и подключению библиотеки возмет на себя MSVC (у вас именно она, насколько я понял?) Это, увы, придется синхронизировать в обоих проектах. Либо вынести в настройки солюшена (вроде это как то можно, только не спрашивайте как - с этим сталкиваться не приходилось |
| Автор: maxim1000 18.10.2010, 22:55 |
| настройки проекта можно вынести в файл vsprops (для 2010 - props) и подключить их к каждому проекту |