Заставить Assert работать в модульных тестах Visual C ++? - PullRequest
2 голосов
/ 27 ноября 2009

Я использую встроенную среду тестирования Visual Studio 2008 в своем проекте Visual C ++. Я добавляю новый тестовый проект, а затем новый юнит тест. Однако я не могу использовать ни одну из функций, предоставляемых Assert. Assert появляется в Intellisense, но я ничего не могу с этим поделать. Я хорошо провел модульные тесты в Visual C #. Я забыл что-нибудь сделать?

EDIT: Там не так много кода, потому что все, что я делаю, автоматически генерируется Visual Studio 2008. Вот шаги, которые я делаю:

  1. Файл -> Новый проект -> Visual C ++ -> Общие -> Пустой проект
  2. Решение правой кнопкой мыши в обозревателе решений -> Добавить -> Новый проект ...
  3. Visual C ++ -> Test -> Test Project
  4. Открыть UnitTest1.cpp (автоматически сгенерированный)
  5. Перейти к TestMethod1 ()

Отсюда, когда я пытаюсь использовать класс Assert (например, Assert.AreEqual), я не могу этого сделать. Если я делаю то же самое в проекте Visual C #, он работает нормально.

Ответы [ 2 ]

5 голосов
/ 02 декабря 2009

AreEqual - статический метод в классе Assert. Так что используйте Assert::AreEqual(...)

0 голосов
/ 27 ноября 2009

См. http://msdn.microsoft.com/en-us/library/ms243171(VS.80).aspx

Вы пытаетесь писать тесты на [неуправляемом] C ++? Если это так, вы можете использовать CppUnit.

Если вы пытаетесь сделать это в управляемом C ++, вы ссылаетесь на сборку Microsoft.VisialStudio.QualityTools?

Если нет, то assert или Assert, которые вы видите, - это, вероятно, стандартная библиотека и MFC соответственно?

Вы не дадите нам много для продолжения. Образец? Тип проекта, который вы использовали для создания проекта?

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