2012-03-09 3 views
3

Хотя философия unittesting заключается в том, что тесты можно запускать в любом порядке, и это должно пройти, что, если вы реализуете API, где нет другого способа общения с сервером ... и вы нужно проверить определенную очень основную функцию (например, удалить), прежде чем вы сможете выполнять более сложные задачи? Является ли заказ тестов тогда разумным?Философия и заказ Python unittest

Если да, то как я могу это сделать с модулем unittest python?

+1

Elmar в http://stackoverflow.com/questions/4095319/unittest-tests-order, кажется, дает ответ. –

+0

Чтобы уточнить: вы говорите, что хотите сначала запустить тест удаления, потому что нет смысла запускать другие, если это не удается? – katrielalex

+0

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

ответ

0

Вы уже понимаете, что ваши модульные тесты должны быть независимыми. Единственная причина, по которой я могу видеть, что вы хотите запустить тесты в определенном порядке, - это то, что вы хотите прекратить запуск пакета, если раннее тестирование не удалось. Чтобы сделать это, вы можете изменить значение command-line option

-f, --failfast 

Остановите тестовый запуск на первой ошибки или неудачи.

Кстати, тесты запускаются в алфавитном порядке:

порядок, в котором различные тестовые случаи будут выполняться определяется путем сортировки имен функций испытания относительно встроенного упорядочивание строк.

(docs)