我已经更新了这个答案以匹配当前的最佳实践:
Bundler 完美支持 gem 开发。如果你正在创建一个 gem,你的 Gemfile 中唯一需要的就是以下内容:
source "https://rubygems.org"
gemspec
这告诉 Bundler 在您运行时在 gemspec 文件中查找依赖项bundle install
。
接下来,确保 RSpec 是您的 gem 的开发依赖项。编辑 gemspec,使其显示为:
spec.add_development_dependency "rspec"
接下来,创建spec/spec_helper.rb
并添加如下内容:
require 'bundler/setup'
Bundler.setup
require 'your_gem_name' # and any other gems you need
RSpec.configure do |config|
# some (optional) config here
end
前两行告诉 Bundler 只加载 gemspec 中的 gem。当您在自己的机器上安装自己的 gem 时,这将强制您的规范使用您当前的代码,而不是您单独安装的版本。
创建规范,例如spec/foobar_spec.rb
:
require 'spec_helper'
describe Foobar do
pending "write it"
end
可选:.rspec
为默认选项添加一个文件并将其放在 gem 的根路径中:
--color
--format documentation
最后:运行规范:
$ rspec spec/foobar_spec.rb