Швидкий старт з Google Test
- Завантажуємо архів із кодом, розархівуємо.
- У папці gtest-1.6.0\msvc є два файли: gtest.sln та gtest-md.sln. Це файли рішень (Solution) Visual Studio. Вони відрізняються опціями складання: gtest.sln збирає код з ключем /MT, а gtest-md.sln з ключем /MD. Якщо ви не знаєте, за що відповідають ці ключі, можете почитати, наприклад, тут чи тут. Ви повинні скомпілювати той самий варіант, з якими збирається проект, який ви збираєтеся тестувати.Це важливо, інакше отримаєте купу незрозумілих помилок лінкера.Перевірити, з якими ключами збирається ваш проект можна ось тут:

Код Google Test успішно збирається Visual Studio 2008\2010 (іншими не пробував). На виході ви отримаєте файли gtestd.lib\gtest.lib (для дебаг та реліз конфігурацій). Зі збіркою на цьому все.
Hello world
- Відкриваємо Solution, який ви маєте намір тестувати. Додаємо до нього новий проект (консольне С++ додаток).
- У цей проект додаємо залежність від скомпілених на другому кроці бібліотек gtestd.lib\gtest.lib, шлях до include-папки Google Test, залежності до тих проектів у вашому рішенні, які ви збираєтеся тестувати.


Пишемо в головному файлі тестового проекту наступний код:
Номер один
Не помиліться з вибором рішення, що компілюється, на другому кроці. Якщо помилитеся і забудете - з'ясувати в чому помилка пізніше буде практично не реально.
Якщо ви плануєте рознести основний тестовий додаток та самі тести з різних проектів, ви зіткнетеся з однією хитрою проблемою. Справа в тому, що гуглівські юніт-теси по суті є статичними класами та компілятор Visual C++ через наявний нимБага просто викине ці класи під час компіляції. Щоб уникнути цього бага, потрібно викрутитися способом, описаним ось тут.
Не забувайте, що статичні бібліотеки, що тестуються, потрібно мало додати в залежності (Dependencies) тестового проекту, їх потрібно додати в посилання (References), інакше отримаємо помилки лінківки.
Додаткові матеріали
Успіхів у тестуванні. З Новим Роком!