按照这里的例子:
然而它失败了:
kernel_require.rb:45:in `require': cannot load such file -- bowling.rb (LoadError)
Run Code Online (Sandbox Code Playgroud)
即使我有一个bowling.rb文件.
有什么建议?
UPDATE
项目列表:
ls -l
-rw-r--r-- 1 snowcrash snowcrash 77 10 Jul 19:43 bowling.rb
-rw-r--r-- 1 snowcrash snowcrash 205 10 Jul 19:49 bowling_spec.rb
$ rspec bowling_spec.rb
/Users/snowcrash/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- bowling (LoadError)
Run Code Online (Sandbox Code Playgroud)
和代码清单:
规格:
# bowling_spec.rb
require 'bowling'
describe Bowling, "#score" do
it "returns 0 for all gutter game" do
bowling = Bowling.new
20.times { bowling.hit(0) }
bowling.score.should eq(0)
end
end
Run Code Online (Sandbox Code Playgroud)
班级档案:
# bowling.rb
class Bowling
def hit(pins)
end
def score
0
end
end
Run Code Online (Sandbox Code Playgroud)
遗憾的是,rspec主页并未告诉您在项目中初始化rspec的情况.
假设您有一个名为'bowling'的项目文件夹,则在保龄球文件夹内运行
rspec --init
Run Code Online (Sandbox Code Playgroud)
这将创建spec目录和两个文件
spec/spec_helper.rb
.rspec
Run Code Online (Sandbox Code Playgroud)
该.rspec文件允许您定义颜色和格式等首选项
--color
--format documentation
Run Code Online (Sandbox Code Playgroud)
现在spec_helper.rb,添加require "bowling"
# This file was generated by the `rspec --init` command. Conventionally, all
# specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
# Require this file using `require "spec_helper"` to ensure that it is only
# loaded once.
require "bowling"
# See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
RSpec.configure do |config|
config.treat_symbols_as_metadata_keys_with_true_values = true
config.run_all_when_everything_filtered = true
config.filter_run :focus
# Run specs in random order to surface order dependencies. If you find an
# order dependency and want to debug it, you can fix the order by providing
# the seed, which is printed after each run.
# --seed 1234
config.order = 'random'
end
Run Code Online (Sandbox Code Playgroud)
现在在你的内部bowling_spec.rb,添加`require"spec_helper"
require "spec_helper"
class Bowling
def hit(pins)
end
def score
0
end
end
Run Code Online (Sandbox Code Playgroud)
此外,您添加的任何其他规格都需要添加require "spec_helper".spec_helper.rb中的注释解释了为什么这是必要的.
以下是设置和使用rspec的初学者解释
祝好运
| 归档时间: |
|
| 查看次数: |
4245 次 |
| 最近记录: |