Я использую перенос тестовый фреймворк. При запуске тестового модуля определенная в нем функция разрыва не удалась. возникшая ошибка говорит о том, что прибор заблокирован другим процессом. вот мой тестовый модуль, test_my_module.py :
... ...
def teardown():
if os.path.exists(test_output_dir):
shutil.rmtree(test_output_dir)
... ...
@with_setup(init_test_db, destroy_test_db)
def test_foo1():
eq_(foo1(),1)
@with_setup(init_test_db, destroy_test_db)
def test_foo2():
eq_(foo2(),2)
... ...
В файле test_output_dir есть файл db (sqlite3), который использовался в качестве устройства. На самом деле это тот файл БД, который не может быть удален путем разрыва, потому что он заблокирован другим процессом. Насколько я понимаю, демонтаж всегда будет запускаться после завершения всех тестовых функций. Так почему это происходит? почему эти тестовые функции все еще могут заблокировать файл БД? Это проблема sqlite3 или что-то не так в моем тестовом коде?