Visual Studio 2010: цикл создания и разработки с Google Test? - PullRequest
1 голос
/ 29 июня 2011

Использование Visual Studio 2010 C ++ с googletest.Я новичок в модульном тестировании, и я создал тестовое решение для экспериментов с ним.У меня есть три проекта в решении:

HelloService (static lib)
HelloService.Tests (exe, a console app I think, linked with gmock_main.lib)
HelloApp (MFC exe, my main app)

У меня есть скомпилированный и успешно работающий googletest (и googlemock).Мой вопрос связан с циклом разработки кода.Я пытаюсь понять правильный рабочий процесс с тестированием.В настоящее время, если я устанавливаю HelloService.Tests как «Проект запуска», тогда, когда я нажимаю F5, тесты запускаются, но мой HelloApp нет.Если я установлю свой HelloApp в качестве проекта запуска, то когда я нажму F5, мое приложение будет запущено, но мои тесты не будут.

Я бы подумал, что я бы хотел, чтобы мой HelloApp был запущенным проектом, но мои тесты запускалиськогда я его создаю и до того, как запустил.Это правильно?Как мне это настроить?

Ответы [ 2 ]

0 голосов
/ 29 июня 2011

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

0 голосов
/ 29 июня 2011

Решением для меня было установить HelloApp в качестве проекта StartUp, затем щелкнуть правой кнопкой мыши на проекте HelloApp и выбрать «Project Dependencies ...», а затем проверить проект HelloService.Tests (проект HelloService уже проверен). Теперь, когда я нажимаю F5, тестовый проект запускается (потому что HelloService.Tests уже имел событие пост-сборки для запуска самого себя)

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

...