Предположим, что в настройке
или разборке
необходимо выполнить потенциально дорогостоящие операции, которые одинаковы для всех тестов и результаты которых не получают испортились во время тестовых прогонов. Мне кажется неправильным запускать их до / после каждого теста.
Так есть ли предпочтительный способ запуска кода установки / разрыва только до выполнения первого теста и только после запуска последнего теста?
Изменить : В конкретном случае, над которым я работаю, следует проверить некоторые расширения к Net :: FTP и, таким образом, устанавливает FTP-соединение и настраивает некоторые удаленные объекты для тестирования:
class TestFTPExtensions < Test::Unit::TestCase
def setup
# Setup connection
@ftp = Net::FTP.new 'localhost', 'anonymous'
@ftp.passive = true
# Create remote test directory
@ftp.mkdir 'dir'
# Create remote test file
path = File.join Dir.tmpdir, 'file'
File.open path, 'w' do |f|
@ftp.put f
end
File.delete path
end
def teardown
@ftp.rmdir 'dir'
@ftp.delete 'file'
@ftp.close
end
# imagine some tests here that don't change/remove any remote objects
end