좋은 시작을 위해 bundle gem
및 명령을 사용할 수 있습니다 rspec --init
.
~/code $ bundle gem my_lib
create my_lib/Gemfile
create my_lib/Rakefile
create my_lib/LICENSE.txt
create my_lib/README.md
create my_lib/.gitignore
create my_lib/my_lib.gemspec
create my_lib/lib/my_lib.rb
create my_lib/lib/my_lib/version.rb
Initializating git repo in /Users/john/code/my_lib
~/code $ cd my_lib/
~/code/my_lib $ git commit -m "Empty project"
~/code/my_lib $ rspec --init
The --configure option no longer needs any arguments, so true was ignored.
create spec/spec_helper.rb
create .rspec
- 코드가 들어갑니다
lib
- 사양 입력
spec
- 테스트 데이터 또는 문서 입력
spec/fixtures/
- 모든 루비 파일이
lib/my_lib.rb
. 자신의 기본 설정에 따라 해당 파일 또는 자체 파일에서 예외를 정의 할 수도 있습니다.
- C 소스 파일이 들어갑니다.
ext/my_lib
- 쉘 스크립트와 실행 파일이 들어갑니다.
bin
의심스러운 경우 다른 보석이 어떻게 배치되어 있는지 살펴보십시오.
추가 정보 :
다른 개발자가 더 쉽게 작업 할 수 있도록 gemspec에 rspec을 개발 종속성으로 추가해야합니다.
- 편집 my_lib.gemspec, 추가
gem.add_development_dependency 'rspec'
및 gem.add_development_dependency 'rake'
아래쪽.
- spec / spec_helper.rb 상단에
Bundler.setup
및 require 'my_lib'
을 추가 하여 사양을 실행할 때 gem 종속성이로드되도록합니다.
- Rakefile을 추가
require "rspec/core/rake_task"
하여 task :default => :spec
실행 rake
하면 사양 이 실행 됩니다.
최신 생성 작업을하는 동안 guard-rspec 은 파일이 변경 될 때 사양을 자동으로 실행하여 사양 실패를 경고 함으로써 시간과 번거 로움을 절약 할 수 있습니다.
~/code/my_lib $ git add spec/spec_helper.rb
~/code/my_lib $ git commit -am "Add RSpec"
~/code/my_lib $ vim my_lib.gemspec # add guard development dependency
~/code/my_lib $ bundle
~/code/my_lib $ bundle exec guard init
~/code/my_lib $ vim Guardfile # Remove the sections below the top one
~/code/my_lib $ git add Guardfile
~/code/my_lib $ git commit -am "Add Guard"
제작이 만족 스러우면 github로 푸시하세요.
# create a github repository for your gem, then push it up
~/code/my_lib $ curl -u myusername https://api.github.com/user/repos -d '{"name":"my_lib"}'
~/code/my_lib $ git remote add origin git@github.com:myusername/my_lib.git
~/code/my_lib $ git push
그런 다음 Rubygems.org에서 gem을 릴리스 할 준비가 되었으면을 실행 rake release
하여 단계를 안내합니다.
~/code/my_lib $ rake release
추가 참조