2015-01-18 3 views
0

У меня есть несколько вопросов об использовании Microsoft :: VisualStudio :: CppUnitTestFramework и Test Explorer, для родной C++ проектов в Visual Studio 2012.Unit тестирование родной C++ код

  1. Как я могу запустить тесты в определенном порядке? В this msdn article:

    Дополнительную информацию см. В разделе «Организация тестов на C++».

    Но нет информации об этом на msdn, или я просто не могу его найти. (Все, что я нашел, были некоторые статьи о заказанных тестах в управляемых проектах)

  2. В статье this говорится, что в случае, если мой код under_test является статичной библиотекой, я могу получить доступ к приватным методам из тестов. Но я не могу направить доступ к нему и не нашел ничего лучше, чем определить private/protected как public при тестировании, но я думаю, что это неправильный путь.

  3. Я только недавно начал использовать модульные тесты и не очень хорошо знаком с ним. Какая лучшая структура для начала (для Windows + родного использования C++)? Может быть, форсировать или googletest, или любой другой? Мой главный IDE является Visual Studio, так что я хочу хорошую интеграцию между испытательной базы и IDE, как управлять/запускать тесты из родного проводника испытаний и т.д.

+0

Пожалуйста, прочитайте [Помощь], чтобы узнать, как задавать хорошие вопросы. Вы не должны запрашивать рекомендации вне сайта, и вам следует сосредоточиться на одном вопросе за сообщение. – BartoszKP

+0

Используйте BOOST http://www.boost.org/doc/libs/1_44_0/libs/test/doc/html/tutorials/hello-the-testing-world.html –

ответ

2

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

Второй: единственный способ сделать это с отражениями. Опять я не рекомендую это. Если вы чувствуете, что есть частный метод, который должен быть протестирован, это почти всегда является признаком того, что вы должны разделить свой класс на более мелкие классы.

В-третьих: структура тестирования Visual Studio прекрасна, если у вас нет необходимости искать других, а затем просто застрять с ней.

И удачи модульного тестирования :) Если вы чувствуете себя немного потерянным, позвольте мне рекомендовать вам эту книгу:

http://www.amazon.com/Test-Driven-Development-By-Example/dp/0321146530

Это объясняет все, что вам нужно.

+0

Спасибо большое, прочитаю книгу :) – username01

Смежные вопросы