Ruby - Выполнение тестов в произвольном порядке с граблями

Другая альтернатива без проверки исключения:

UPDATE tablename
    SET val1 = in_val1,
        val2 = in_val2
    WHERE val3 = in_val3;

IF ( sql%rowcount = 0 )
    THEN
    INSERT INTO tablename
        VALUES (in_val1, in_val2, in_val3);
END IF;
8
задан Pietro Di Bello 3 September 2009 в 22:18
поделиться

2 ответа

Вот, определите это в lib / tasks / tasks.rb

namespace :test do 
  namespace :randomize do 
    desc "Randomize tests"
    Rake::TestTask.new(:all => "db:test:prepare") do |t|
      t.libs << "test"
      t.test_files = Rake::FileList[
        'test/unit/**/*_test.rb',
        'test/functional/**/*_test.rb', 
        'test/integration/**/*_test.rb' 
      ].shuffle
      t.verbose = true
    end
  end
end

Run: rake test: randomize: all

Имейте в виду, что в файле тесты будут по-прежнему выполняться в том порядке, в котором они появляются. Я предполагаю, что вы могли бы использовать тестовый модуль Monkey patch, чтобы учесть это.

5
ответ дан 5 December 2019 в 23:16
поделиться

Вы можете проверить «ZenTest 3.9.0: теперь еще больше зла» ( не могу сделать прямую ссылку, используйте кеш Google)

Added ability to set test execution order, defaults to :random. EVIL!
0
ответ дан 5 December 2019 в 23:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: