Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Visual Studio, C++, UnitTests 
:(
    Опции темы
artikov
Дата 18.10.2010, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.2.2010

Репутация: нет
Всего: нет



Решил научится такой полезной вещи как юнит тесты. Использую библиотеку UnitTest++ (но это в принципе не важно).

Есть у меня проект программы:
MainProject:
  • main.cpp
  • foo1.cpp
  • foo1.h
  • foo2.cpp
  • foo2.h


чтоб прикрутить к нему тесты я создаю еще один проект:
TestProject:
  • runTests.cpp
  • foo1.cpp
  • foo1.h
  • foo2.cpp
  • foo2.h
  • foo1_test.cpp
  • foo2_test.cpp


в runTests.cpp:
Код

#include "UnitTest++.h"
int main()
{
    return UnitTest::RunAllTests();
}


в foo1_test.cpp, foo2_test.cpp - тесты:
Код

TEST(MyFirstTest)
{
    bla bla;
}


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

Или может я делаю все совсем не так как надо? Тогда расскажите как делать правильно.

PM MAIL   Вверх
xvr
Дата 18.10.2010, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Поместите в TestProject не копии кодов (foo?.*), а их оригиналы (т.е. те же самые файлы, что и в MainProject). Тогда ничего в 2х местах править не придется

PM MAIL   Вверх
artikov
Дата 18.10.2010, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 20.2.2010

Репутация: нет
Всего: нет



xvr, вы не правильно поняли, файлы foo?.* - общие. 
Проблема в том что если я хочу добавить новый файл foo3.cpp. Приходится в главном проекте жать Add New Item и затем в тестовом проекте - Add Exist Item -> foo3.cpp . То же самое с настройками проектов, если я хочу, например, подключить какую-нибудь библиотеку, то я должен прописать пути к h-файлам и lib-файлам в MainProject-е, и затем то же самое сделать для TestProject-a.

PM MAIL   Вверх
xvr
Дата 18.10.2010, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(artikov @  18.10.2010,  14:55 Найти цитируемый пост)
Проблема в том что если я хочу добавить новый файл foo3.cpp.
Понял, это немного другая проблема. Ее можно решить сделав из общих сорцов отдельный проект - статическую библиотеку, и поставить зависимости от нее обеим оригинальным проектам. Всю заботу по сборке и подключению библиотеки возмет на себя MSVC (у вас именно она, насколько я понял?)

Цитата(artikov @  18.10.2010,  14:55 Найти цитируемый пост)
То же самое с настройками проектов,
Это, увы, придется синхронизировать в обоих проектах. Либо вынести в настройки солюшена (вроде это как то можно, только не спрашивайте как - с этим сталкиваться не приходилось  smile )



PM MAIL   Вверх
maxim1000
Дата 18.10.2010, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



настройки проекта можно вынести в файл vsprops (для 2010 - props) и подключить их к каждому проекту


--------------------
qqq
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0466 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.