2011-12-07 15 views
6

RSpec 2'den MiniTest::Spec'a geçmek için izlenecek bir strateji veya adımlar kümesi var mı? Büyük bir proje için bunu yapmak istiyorum ama nereden başlayacağımı bilmiyorum.RSpec'ten Minitest'e Geçme :: Spec?

+0

Son zamanlarda baktığımda MiniTest'ten fazla etkilenmedim; Şu an RSpec ile uğraşmaya karar verdim. Bununla birlikte, MiniTest'in RSpec ile rekabet edebilecek düzeyde olması durumunda, bu iyi bir fikir olabilir. –

+2

Önceki yorum yazıldığı zamandan beri Minitest çok olgunlaşmıştır ve şimdi Rails, Nokogiri ve diğerleri tarafından kullanılmaktadır. –

cevap

8

Uzun, kendimi Testlerimizin bazıları üzerinde taşıma üzerinde çalışıyorum bunun için MiniTest :: Spec kullanmadıysanız, ama burada RSpec gelen fark ettik birkaç şey:

  • matchers elbette farklıdır - bu must/wont yerine should/should_not ve sen must_be_true/must_be_false veya benzeri diyemeyiz böylece yüklem matchers gitti.
  • Özel RSpec eşleştiricileri yazdıysanız veya shoulda-matchers veya benzerlerini kullanıyorsanız, minimal-matchers gem sayesinde bunları MiniTest ile kullanabilmeniz gerekir. Ama YMMV.
  • MiniTest :: Spec, context sağlamamaktadır, bu nedenle bunu describe olarak değiştirmeniz veya başka bir adla değiştirmeniz gerekir.
  • MiniTest :: Spec da described_class sağlamaz.
  • Ayrıca before :all yok.
  • subject manüel olarak ayarlanmalıdır (bence, yanılıyorsam beni düzeltin).

Sorunuzu yanıtlamak için, mevcut bir test paketini tasvir etmek açısından korkarım ki, gerçekten basit bir bulma ve değiştirme yapamazsınız, her bir test dosyasında bir portun olması gerekir. bir zaman. Açıkçası bu, çabaya değip değmeyeceğini belirlemek zorundasınız demektir.

+0

Minitest, 'subject {} '(muhtemelen manuel olması gerektiğini düşünüyorum, ancak sonra her zaman açıkça RSpec'de ayarlıyorum), ancak bu, {iftarı} sözdizimi ile çalışmıyor gibi görünüyor. Ve kendi türden bir eşleştiriciye sahip - sadece yapmanız gereken 'must_be: geçerli?' Yerine RSpec'in 'be_valid' olması gerekir. –