VisualAssert Testing в C ++, загрузка тестового набора - PullRequest
0 голосов
/ 21 апреля 2010

Добрый день, Я изучаю тестирование в Visual Studio C ++, и у меня есть несколько учебных пособий, которым я следовал. Я пытаюсь загрузить тестовое устройство. Я пытался поместить тестовый файл .cpp во многие разные места, но он все равно не обнаружится, когда я нажму «Выполнить тесты» или «Выполнить тесты без отладки»

В учебных пособиях, которые я нашел, они, казалось, автоматически загружались в Test Explorer, но у меня есть значок с X + (PROJECTNAME) .EXE, и когда я нахожу на него курсор, я получаю

процесс завершился без регистрации в агенте ... это связано с тем, что модель не содержит тестовых приборов ...

Как я могу загрузить свои тесты в Test Explorer ... или зарегистрировать их в моем проекте ...

Я попробовал щелкнуть правой кнопкой мыши и "Добавить фикстуру ..." ....

но это только запускает новый тестовый файл, и у меня та же проблема.

Кто-нибудь знает, как мне решить эту проблему?

Ответы [ 2 ]

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

У меня была такая же проблема. Переменная окружения CFIX_HOME и пути VS 2008 были установлены правильно. Я скопировал i386 cfix.dll в тот же каталог, что и мой тестовый exe.

Выполнение команды:

"%CFIX_HOME%\bin\i386\cfix32.exe" -exe "%CD%\VisualAssertTest1.exe"

В результате cfix выдает это, а затем завершает работу.

cfix version 1.6.0.3683 (fre)
(C) 2008-2010 - Johannes Passing - http://www.cfix-testing.org/
Hello

«Hello» - это просто тривиальный вывод из моей тестовой программы, поэтому я могу быть уверен, что он загружен правильно.

Только когда я скопировал свой exe-файл в% CFIX_HOME% \ bin \ i386 \, он вообще сработал, а затем все, что он сделал, это вывел

cfix version 1.6.0.3683 (fre)
(C) 2008-2010 - Johannes Passing - http://www.cfix-testing.org/
[Success]      VisualAssertTest1.MyTest1.Test

Затем я попытался запустить его с помощью команды запуска Visual Studio. Я изменил настройки своего проекта следующим образом.

Configuration Properties\Debugging:
    Command: $(CFIX_HOME)\bin\i386\cfix32.exe
    Command Arguments: -exe "$(TargetPath)"
    Working Directory: $(CFIX_HOME)\bin\i386

Это выполняется, но у вас нет возможности узнать, что происходит, потому что cfix32.exe завершается немедленно, а выходные данные не записываются Visual Studio. Добавление опции -y для запроса cfix32.exe на паузу в конце выполнения теста приводит к:

-y and -Y are currently not supported in conjunction with -exe

Что, насколько я знаю,

Итак, подведем итог.

По какой-то причине вы не получаете никакого графического вывода при тестировании exe.

При тестировании exe-плагина Visual Studio не обнаруживает ни одного из ваших тестовых случаев, и у вас нет простого способа выбрать, какие тестовые примеры вы хотите запустить.

И запуск вручную в окне консоли - единственный способ получить выходные данные.

Все, что я когда-либо хотел от программы модульного тестирования на C ++, было:

  1. Чтобы иметь возможность добавлять тесты в exe.
  2. Для возможности интерактивного выбора и запуска этих тестов из среды IDE.

Когда я впервые услышал упоминание об этой проограмме, я подумал, что бью золото, но, к сожалению, не совсем. Тем не менее, это кажется ближе к тому, что я ищу, чем все остальное, что я видел, так что я буду продолжать с этим некоторое время.

@ Йоханнесу Было бы неплохо узнать, разрабатывается ли он еще.

0 голосов
/ 27 мая 2011

Наиболее вероятная причина - отсутствие переменной окружения CFIX_HOME . Попробуйте установить его (обычно это «c: \ Program Files (x86) \ VisualAssert \») и перезапустить VS. Также обновите настройки вашего проекта, включив следующие пути:

C/C++ -> General -> AdditionalIncludeDirectories $(CFIX_HOME)\include
Linker -> General ->AdditionalLibraryDirectories $(CFIX_HOME)\lib\amd64
Я столкнулся с той же проблемой, что и вы, и описал ее таким образом.

Одним из недостатков включения кода cfix / Visual Assert прямо в ваш проект является то, что вашему .exe потребуется cfix.dll для запуска. Такое поведение, однако, помогло мне обнаружить проблему:)

Обновление от @Neutrino имеет смысл. Я получил другие проблемы:

  • красный X в имени проекта в окне «Test Explorer» появился снова, и его свойства содержат сообщение об исключении: Cfix.Control.CfixException: тестовый модуль не найден. ---> System.Runtime.InteropServices.COMException (0x8004B009): исключение из HRESULT: 0x8004B009
  • Окна «Test Explorer» и «Test Run» не помещаются на свои позиции при каждом запуске VS2008, но вместо этого они остаются выше.

Вероятно, это связано с тем, что Visual Assert вышел из строя где-то на W7 x64 + VS2008

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...