我是新手在Rails应用程序中使用RSpec而我无法让RSpec看到我的模型:(
我在我的文章中添加了以下几行 Gemfile
group :development, :test do
gem 'rspec-rails'
end
Run Code Online (Sandbox Code Playgroud)
并安装它
rails generate rspec::install
Run Code Online (Sandbox Code Playgroud)
然后我facebook_page.rb在app/models/目录中创建了一个文件,它不是 ActiveModel
class FacebookPage
class << self
# define class variables
attr_accessor :app_id
attr_accessor :app_secret
end
end
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试测试它,所以我添加了一个facebook_page_spec.rbin spec/models/目录
describe FacebookPage do
describe ".app_id" do
it "should return the FB_APP_ID environment variable and thus not be null" do
FacebookPage.app_id.should_not be_empty
end
end
end
Run Code Online (Sandbox Code Playgroud)
但是当我跑步的时候
bundle exec rake spec
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
/home/geoffroy/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -S rspec ./spec/models/facebook_page_spec.rb
/home/geoffroy/dev/mybandpage/spec/models/facebook_page_spec.rb:1:in `<top (required)>': uninitialized constant FacebookPage (NameError)
Run Code Online (Sandbox Code Playgroud)
RSpec似乎没有加载我的模型文件.是因为它不是ActiveRecord的子类吗?我怎么解决这个问题?
非常感谢,最好的
若弗鲁瓦
你有一个拼写错误rails generate rspec::install(双冒号)尝试使用rails generate rspec:install.还尝试使用以下命令运行测试bundle exec rspec spec.
你require "spec_helper"参加考试了吗?
PS.这段代码错了:
class FacebookPage
class << self
# define class variables
attr_accessor :app_id
attr_accessor :app_secret
end
end
Run Code Online (Sandbox Code Playgroud)
基本上在这个例子中你要在单例类上定义实例变量,尝试使用这种方法:http://apidock.com/rails/Class/cattr_accessor
| 归档时间: |
|
| 查看次数: |
1559 次 |
| 最近记录: |