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?
cevap
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
yerineshould
/should_not
ve senmust_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 bunudescribe
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.
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. –
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. –
Önceki yorum yazıldığı zamandan beri Minitest çok olgunlaşmıştır ve şimdi Rails, Nokogiri ve diğerleri tarafından kullanılmaktadır. –