2013-03-06 13 views
5

Ryan bates railscast'e (http://railscasts.com/episodes/327-minitest-with-rails) göre bir minitest.rake oluşturdum.Terminalde tırmığa girdiğimde minitest.rake neden iki kez çalışıyor?

Terminalde tırmama çalıştırdığımda, test çalıştırılır ve komut satırını sıfırlamadan önce yeniden çalışır.

require "rake/testtask" 

Rake::TestTask.new(:test => "db:test:prepare") do |t| 
    t.libs << "test" 
    t.pattern = "test/**/*_test.rb" 
end 

task default: :test 

cevap

3

Zaten böyle bir adla tanımlanmış bir göreviniz olduğunu varsayalım. Aynı ada sahip yeni bir görev tanımlarsanız zaten var olana eklenir.

Bu kodu kaldırır ya da yorum yapar ve rake -T yaparsanız, test görevi orada olacak mı?

+0

Bunu nasıl bulabilirim? Bu, lib/task dizinindeki tek dosyadır. –

+0

Eğer raylarda kullanıyorsanız, zaten 'test' görevi vardır. Görev kodunuzu kaldırır ya da yorum yaparsanız ve 'rake -T' yaparsanız, 'test' görevi orada olur mu? – khustochka

+0

İşte var. 'Komisyon testi' kullanmaya devam edip kodumu tamamen kaldırırsam sorun olur mu? –

3

Sadece komisyon dosyanızı benzersiz bir adla yeniden adlandırın; ex. mintest1.rake.

paperclip.rake numaralı komisyon dosyasını adlandırdığımda aynı sorunu yaşadım. Bu tırmık dosyasında tanımladığım şey iki kere idam edildi. Bunun, Paperclip gem'in zaten paperclip.rake tırmık dosyasını tanımladığı varsayılmaktadır. Bu yüzden sadece paperclip.rake dosyamı pc.rake olarak değiştirdim ve benim için çalıştı.

+0

tam olarak kağıt ataması görevleri ile aynı sorun; teşekkür ederim! –

0

rake test:single TEST=path/to/test.rb'u denediniz mi?

Düşürsem: bekarsa iki kez çalışır.