С++ Builder 10.3 Рио - Тестовая среда

Кажется, что C++ Builder 10.3. поставляется с новым testframework.hpp. Класс Assert больше не существует.

Может ли кто-нибудь сказать мне, как использовать эту новую структуру?

Я в отчаянии, потому что написал много кода и, очевидно, Rio не очень совместим.

например, следующая строка кода, написанная в Builder 10.2.3, больше не работает:

Dunitx.Testframework::Assert::IsTrue (result == true);

person Hoeh    schedule 22.12.2018    source источник


Ответы (2)


Я нашел решение в файле testframework.hpp. Использование теперь намного проще, но вам нужно знать, как с этим обращаться. Описание в справочной системе embaracdero неверно и должно быть исправлено.

person Hoeh    schedule 22.12.2018
comment
Найденный вами файл Testframework.hpp предназначен для DUnit. Вам нужен Dunitx.Testframework.hpp. См. выше, как его получить. DUnit и DunitX — похожие, но несовместимые среды тестирования. Вам, очевидно, нужен DUnitX и помощь, которую вы нашли, если и для DUnitX, а не для более старого DUnit. - person Rudy Velthuis; 23.12.2018

Кажется, вы нашли файл TestFramework.hpp для DUnit. Но очевидно, что ваш код раньше использовал DUnitX. Это похожие, но несовместимые среды тестирования.

Чтобы получить нужный вам Dunitx.Testframework.hpp, просто добавьте DUnitX.TestFramework.pas в свой тестовый проект C++Builder (добавьте его в диспетчере проектов) и полностью перестроить свой проект. Компилятор Pascal создаст для вас необходимый файл .hpp.


Но прежде чем вы все это сделаете, вы можете скопировать свой проект в новую папку и загрузить его оттуда, просто для уверенности. Таким образом, старый проект не будет изменен. Обязательно обновите все свои пути в менеджере проектов и настройках библиотеки C++, если это необходимо.


Если вы думаете, что DUnit проще в использовании (я, конечно, так считаю), продолжайте использовать его. Но вам придется переписать некоторые части ваших тестов. Дополнительную информацию можно найти в файлах справки Delphi (и в веб-аналоге). ) и на веб-сайте DUnit.

DUnit был прежней тестовой средой для Delphi (отсюда и буква D), но когда-то в прошлом его заменил более современный DUnitX. Но при этом используются некоторые функции Delphi (например, атрибуты Delphi), которые затрудняют использование в C++Builder. DUnit по-прежнему является частью установки RAD Studio.

person Rudy Velthuis    schedule 23.12.2018