2015-03-02 3 views
1

Я хотел бы использовать Catch для тестирования модулей на C++ lib. Однако мне нужно, чтобы большинство тестовых случаев выполнялись в порядке. т.е. библиотека должна быть инициализирована определенным образом, а затем пользователи вошли в систему и т. д. Есть ли какой-либо шаблон проектирования для достижения этого.Удовлетворение заказа уловов

Благодарим заранее.

+0

Вы пробовали единую тестовую систему? У большинства из них есть приспособления для такого рода вещей. – Collin

+0

Если вам нужно, чтобы они выполнялись в определенном порядке, поместите указатели на объекты в вектор или массив. –

+0

Возможный дубликат [Catch test case order] (http://stackoverflow.com/questions/19694391/catch-test-case-order) – JBRWilkinson

ответ

4

Тесты выполняются последовательно, точно так же, как вы описываете. Поэтому простой ответ: вам не нужно ничего делать, чтобы получить эту функциональность.

Однако сверхдлинные тестовые функции с сочетанием создания и утверждений приборов считаются плохой формой при модульном тестировании: им становится сложнее поддерживать, и для устранения проблемы требуется больше времени. Метод Catch для решения этой проблемы довольно интересен, см. the tutorial on Sections; Я также нашел это presentation (video, 67 mins) by Phil Nash, где (примерно с 20:00 до 28:00) он довольно четко объясняет, как работают секции и вложенные секции.

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