Firebird делает это, они называют его MGA (Относящаяся к разным поколениям Архитектура).
Они сохраняют исходную версию в целости и добавляют новую версию, которую только сессия с помощью нее видит, когда фиксируется, более старая версия отключена, и более новая версия включена для всех (груды файла с данными, и нуждается в регулярной очистке).
Oracle перезаписывает сами данные и использует откат табличные области сегментов/отмены для других сессий и откатывать.
Назовите тесты, которые вы хотите запустить первыми, с помощью алфавитного имени с низкой степенью сортировки.
def test_AAA_fizz
Для удобочитаемости кода это может считаться некрасивым или полезным, в зависимости от вашей точки зрения.
Тесты в одном и том же тестовом классе вызываются в порядке их определения. Однако тестовые классы запускаются в алфавитном порядке по имени класса.
Если вам действительно нужен точный контроль, определите методы fizz и bar с префиксом, отличным от test_
, и изнутри test_fizz_bar
], вызовите их по порядку и запустите bar при условии успешного выполнения fizz.
РЕДАКТИРОВАТЬ: Кажется, что разные фреймворки модульного тестирования ведут себя по-разному. Для JUnit в Eclipse кажется, что тестовые примеры выполняются в случайном порядке: Порядок модульных тестов в представлении JUnit Eclipse