52

在没有 Rails 的情况下使用 RSpec 在 Ruby 中进行 TDD 的过程是什么?

我需要一个 Gemfile 吗?它只需要 rspec 吗?

红宝石 1.9.3

4

3 回答 3

75

过程如下:

从控制台安装 rspec gem:

gem install rspec

然后创建一个包含以下内容的文件夹(我们将其命名为 root):

根/my_model.rb

根/spec/my_model_spec.rb

#my_model.rb
class MyModel
  def the_truth
    true
  end
end

#spec/my_model_spec.rb

require_relative '../my_model'

describe MyModel do
  it "should be true" do
    MyModel.new.the_truth.should be_true
  end
end

然后在控制台运行

rspec spec/my_model_spec.rb

瞧!

于 2012-09-06T19:44:01.120 回答
43

从您的项目目录中...

gem install rspec
rspec --init

然后在创建的规范目录中编写规范并通过

rspec 'path to spec' # or just rspec to run them all
于 2012-09-06T19:45:55.580 回答
13

周围的工作流程gem install rspec存在缺陷。始终使用 Bundler 和 Gemfile 来确保一致性并避免项目在一台计算机上正常运行但在另一台计算机上失败的情况。

创建你的Gemfile

source 'https://rubygems.org/'

gem 'rspec'

然后执行:

gem install bundler
bundle install
bundle exec rspec --init

以上将为您创建.rspecspec/spec_helpers.rb

现在在以下位置创建您的示例规范spec/example_spec.rb

describe 'ExampleSpec' do
  it 'is true' do
    expect(true).to be true
  end
end

并运行规格:

% bundle exec rspec
.

Finished in 0.00325 seconds (files took 0.09777 seconds to load)
1 example, 0 failures
于 2017-12-02T15:29:23.913 回答