Итак, я пытался понять это, и лучшее решение, которое я могу найти, это глобальные переменные, но это кажется таким грязным и 1974 год. Я отсутствует функция Rake/Test :: Unit?Параметры передачи и параметры для теста/блока через рейк :: TestTask
У меня есть Rake файл, в котором я бегу испытания:
Rake::TestTask.new(:test) do |t|
t.test_files = FileList['test_*.rb']
end
и test_1.rb есть что-то вроде этого:
require "test/unit"
class TestStuff < Test::Unit::TestCase
def setup
@thingy = Thing.New(parameter1, parameter2)
end
def test_this_thing
@thing.do()
end
end
Моя проблема есть, вещь. new() требует аргументов, и эти аргументы специфичны для моей среды. На самом деле, я запускаю Selenium-WebDriver, и я хочу перейти в тип браузера, а также url и т. Д. Иногда я хочу ff, в другое время я хочу хром ... иногда этот URL, иногда это ... в зависимости от дня и т.д.
самое простое кажется сделать что-то вроде:
#all that rake stuff
$parameter1 = x
$parameter2 = y
, а затем сделать Thing.new() посмотреть мои глобальные ВАР:
@thingy = Thing.New($parameter1, $parameter2)
Это кажется неаккуратным .. и это мне просто не нравится. Я все еще пытаюсь запустить эту «тестовую упряжь» и хочу сделать это в первый раз. Вот почему я выбрал Rake, основанный на множестве других отзывов.
Имейте в виду, что, вероятно, в конце концов у меня будет 100 тестов, и все они должны будут получить эту информацию ... Я думал, что Рейк хорош, чтобы убедиться, что все это легко, но это не так. Кажется, похоже.
Где я ошибся?
Я хочу запустить тесты многопоточными. Похоже, что этот метод был бы проблемой, если бы я это делал, особенно если каждый тест имел разные значения для параметров. – djangofan