Форум программистов, компьютерный форум CyberForum.ru

Раздельный native unit test для проекта скомпилированного как Debug и как Release - C++

Восстановить пароль Регистрация
 
Archi0
28 / 14 / 4
Регистрация: 18.07.2013
Сообщений: 164
04.05.2014, 14:02     Раздельный native unit test для проекта скомпилированного как Debug и как Release #1
Используя условную компиляцию версия Debug и Release может существенно различаться. Не все ситуации можно смоделировать для теста и могут пригодиться какие-то дополнительные функции в классе, которые будут генерировать исключение там где оно могло возникнуть и не нужные в Release с целью проверить, а действительно ли ты был готов к подобной ситуации. Отсюда и вопрос как в модульном тесте часть тестов запускать для Release часть для Debug
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.05.2014, 14:02     Раздельный native unit test для проекта скомпилированного как Debug и как Release
Посмотрите здесь:

C++ Debug компилируется, а Release - нет
C++ Debug и Release разница?
difference between debug and release MVS2010 C++
Как получить состояние (release/debug) проекта? C++
Как установить режим проекта Release? C++
Как создать release проекта в MS Visual Studio? C++
C++ Release/Debug
C++ Неопределенное поведение в Debug и Release

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
 Аватар для Убежденный
14221 / 6236 / 988
Регистрация: 02.05.2013
Сообщений: 10,406
Завершенные тесты: 1
04.05.2014, 14:10     Раздельный native unit test для проекта скомпилированного как Debug и как Release #2
1) Очевидно, различий между Debug и Release на уровне исходного кода
должно быть минимум. Как и между конфигурациями Win32 и x64, например.
Иначе мы вместо одной тестовой комбинации получаем две, четыре и т.п.
С не очень хорошими последствиями (в перспективе, когда кода станет
много и тестироваться он будет долго и сложно).

2) Для Debug-конфигурации запускать Debug-тесты, для Release-конфигурации
запускать Release-тесты. Кодовая база одна, конфигураций может быть много.

3)
Цитата Сообщение от Archi0 Посмотреть сообщение
Не все ситуации можно смоделировать для теста и могут пригодиться какие-то дополнительные функции в классе, которые будут генерировать исключение там где оно могло возникнуть и не нужные в Release с целью проверить, а действительно ли ты был готов к подобной ситуации.
Дополнительные функции в классе, существующие только для test case - зло.
Даже если они отключаются дефайнами в релизной сборке.

Если речь идет о модульном тестировании, все должно решаться внешними
по отношению к классу средствами. Понятно, что возможны исключения, но
на то они и исключения.
Yandex
Объявления
04.05.2014, 14:10     Раздельный native unit test для проекта скомпилированного как Debug и как Release
Ответ Создать тему
Опции темы

Текущее время: 16:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru