rspec

2012-09-07 20 views
8

'' it '' bir ROR uygulaması için rspec'e bazı testler (kod kapsamı için değil, burada alakasız) yazmaya çalışıyorum ve en azından anlatma ve takma ad verme ihtiyacı var. Takma adı sadece iyi tanımlayabilir, çünkü en üst seviyede. Ama, çalışmak için başka bir şey alamıyorum. Bu adam gibi:rspec

module RSpec 
    module Core 
    class ExampleGroupMethods 
     alias :they :it 
    end 
    end 
end 

Bunu spec dosyasına dahil ettim ancak modül yolunu doğru alamıyorum. Rspec kod tabanına baktım ama duvara çarpıyorum bu yüzden ne yaptığımı bilmiyorum. Herhangi bir ipucu veya kaynak büyük takdir edilecektir.

cevap

15

Sen kullanmak istediğiniz alias_example_to:

RSpec.configure do |c| 
    c.alias_example_to :they 
end 

Bu kamu API parçasıdır RSpec.

+0

Teşekkürler! Ben neyin peşindeyim. –

2

define_example_method kullanmak istediğiniz gibi görünüyor. RSpec, it ve specify gibi örnek grup yöntemlerini tanımlamakta olup, bunların tümü gerçekten birbirinin takma adlarını oluşturmaktadır. Orada içine dokunarak için onaylı bir API, ama böyle bir şey yapmak mümkün olmalıdır emin değilim:

module RSpec 
    module Core 
    class ExampleGroupMethods 
     class << self 
     define_example_method :they 
     end 
    end 
    end 
end 
+0

Evet, dün gece bunu gördüm ama gerçekte yaptığına benzediğinden emin değildim, ama sanırım haklıymışım. Ancak bunu denedim ve her zaman vurulduğu gibi aynı tuğla duvar olan # (NoMethodError) için "undefined method" define_example_method "ifadesini aldım. Çalışması gerektiği gibi görünüyor ama neden olmadığını anlamıyorum. –

+0

Bu kodu nereye koyarsınız ve rspec-core'in önündeki herhangi bir yere mi ihtiyacınız var? –