2014-11-18 9 views
1

RSpec 3으로 업그레이드 한 이후 생성 된 spec 파일에 describe 대신 RSpec.describe이 포함되어 있고 예를 들어. :type => :model. 예를 들어, 다음은 그냥 "계획"이라는 클래스에 대해 생성 된 모델 사양 파일입니다 :생성 된 사양에서 RSpec이 "Rspec.describe ..."및 "type : ..."을 사용하지 못하게하려면 어떻게해야합니까?

require 'rails_helper' 

describe Plan do 
    pending "add some examples to (or delete) #{__FILE__}" 
end 
:

require 'rails_helper' 

RSpec.describe Plan, :type => :model do 
    pending "add some examples to (or delete) #{__FILE__}" 
end 

차라리이 (3 행에 변화를 주) 것처럼 보일 거라고

... rails_helperconfig.infer_spec_type_from_file_location!이라는 줄이 있으므로 "유형"호출이 특히 중복되는 것 같습니다.

RSpec이 제 2 예의 스펙 파일을 생성하도록하려면 어떻게해야합니까? 매번 수동으로 편집하지 않아도됩니다.

답변

4

rspec-rails github repo에서 템플릿을 보면 구성 변수를 통해이를 수행 할 수있는 옵션이 없음을 알 수 있습니다. 그러나 model_spec.rb이라는 lib/generators/rspec/model/templates/에 모델에 대한 사용자 지정 생성기를 만드는 파일을 만듦으로써이를 사용자 지정할 수 있어야합니다. 그것은 당신이 위의 링크에서 볼 수 있듯이 단지 ERB 템플릿입니다 :

require 'rails_helper' 

<% module_namespacing do -%> 
RSpec.describe <%= class_name %>, :type => :model do 
    pending "add some examples to (or delete) #{__FILE__}" 
end 
<% end -%> 

당신은 RSpec에이 방법으로 정의 모든 발전기를 사용자 정의 할 쉽게 할 수 있어야한다. Yoe는 심지어 여분의 것을 추가 할 수 있습니다. 추가 정보는 here입니다. 희망이 당신을 도울 :