2011-08-21 15 views
5

Testlerimi komut satırı yerine raylar konsolu altında çalıştırabiliyor muyum diye merak ediyordum. Aslında bunun mantığı, rake testinin: komut satırındaki birimlerin raylar ortamını yüklemek için yaş almasıdır. Bu yüzden, bir kez çevreyi yüklemek için bir konsolu başlatmamaya ve daha sonra rake ünitesini çalıştırmaya devam etmediğimi düşündüm: kodumu kontrol etmek istediğim her defasında testler. Sonuçta, raylar çevik olmalı ve çevik gelişmeyi desteklemelidir. Ben de bunu denedim. Her şeyden önce söylemek zorunda: Ben nasılsa nereye bakacağını söylemek gerekiyor galibaKonsollar ve eğim testi rayları: birimler

irb(main):002:0> Rake::Task['test.units'].invoke 
RuntimeError: Don't know how to build task 'test.units' 

:

'Rake'

ama gerektiren bile hata mesajı aldık yaptıktan sonra. Düşüncesi olan var mı?

Teşekkür

Chris

cevap

5
ruby-1.9.2-p290 :001 > require 'rake' 
ruby-1.9.2-p290 :002 > r = Rake.application 
ruby-1.9.2-p290 :003 > r.init 
ruby-1.9.2-p290 :004 > r.load_rakefile 
ruby-1.9.2-p290 :005 > r['test:units'].invoke 
+1

Teşekkürler, ilk kez çalıştı (ama aslında hala koşmak için yaş aldı) ve daha sonra r ['test: units'] çalıştırmayı denediğimde nil döndü. Bence Spork'a bakacağım. – Chris

+1

Aslında, r.clear ekleyerek r.load_rakefile ve r ['test: units'] tekrar etmeme izin veriyor. Bunu bilgisayarımda çalıştırmanın zamanı 80 saniyeden (komut satırında komisyon) 25 saniyeye düşürüldü ve bu nedenle de oldukça yavaş olmasına rağmen önemli bir gelişme oldu. – Chris

0

daha iyi bir fikir yüklü çevreyi korumak için SPORK kullanabilir ve ardından dosyaları değiştirdiğinizde otomatik testler oto-etmektir.

+0

Evet, bence yol bu. Ancak, küçük bir uni modülünde RoR kullanıyorum ve Rails kitabı ile Çevik Yazılım Geliştirme kapsamında olmayan rspec ve diğer şeyler hakkında konuşmak istemedim. Çekirdek raylar demetinin spork'a geçip geçmemesi gerektiğini merak ediyorum. Bu, hala TDD için çok yavaş olan test teknolojisi de dahil olmak üzere biraz garip görünüyor. – Chris

İlgili konular