当我试图使用Factory not registered: user (ArgumentError)运行我的测试文件时,我一直得到factory_girl_rails。我读了几篇关于这方面的文章,并试图跟踪每一篇文章,但都没有成功。在我的gem 'factory_girl_rails'文件中
group :development, :test do
gem 'rspec-rails'
gem 'factory_girl_rails'
gem 'annotate'
gem 'better_errors'
运行简单命令
rails g model User
导致:
→ bundle exec rails g model User
invoke active_record
create db/migrate/20160128191020_create_users.rb
create app/models/user.rb
invoke rspec
create spec/models/user_spec.rb
invoke factory_girl
create
对于我的第一个Rails引擎--命名为“术语表”--我希望实现Rspec、ShouldaMatchers、FactoryBot作为测试套件。情况看上去不错,但FactoryBot一直声称工厂没有注册:
Failures:
1) Glossary::User
Failure/Error: subject {FactoryBot.build(:user)}
ArgumentError:
Factory not registered: user
在开发过程中,rails generate model user first_name last_name
我完全被困在这里,希望有人能给我指引正确的方向。我正在尝试使用rspec来测试我的test路由。我遵循了下面的示例:
我的spec文件在spec/requests文件夹中是named:api_tests_spec.rb。
文件如下:
require 'spec_helper'
describe "APITests" do
describe "GET /regions" do
it "should return a valid response" do
# Run the generator again
我试着在每次运行测试之间重新设置factory girl中的“顺序”。
(factory_girl 2.6.0和factory_girl_rails 1.7.0)
我认为要这样做,我必须重新加载FactoryGirl定义。我在spec_helper.rb的最后几行中这样做:
require 'rubygems'
require 'spork'
#uncomment the following line to use spork with the debugger
#require 'spork/ext/ruby-debug'
Spork.pre
例如,我由rails new test_projct创建了一个新的rails项目,并将rails-spec和custom_gem(这是由我们创建的include models and rspec test case)包含到gemfile中。如果我在项目文件夹的根目录下运行rspec,我希望它能同时运行spec文件夹下的test_project测试用例和spec文件夹下的custom_gem测试用例。
在我的项目中,我们有test和spec文件夹,因为我们试图从最小的迁移到rspec。
我现在正在尝试预览我正在设计的邮件程序的布局,所以我创建了一个预览邮件程序。问题是,它要求我将我的邮件预览放在test/mailers/xx路径中,否则它将找不到它们。
有什么方法可以让rails在spec文件夹中搜索邮件预览吗?
这就是我要说的预览:
# Preview at http://localhost:3000/rails/mailers/reporting/iue/report_mailer/name
class Reporting::IUE::ReportMailerPreview < A
我生成了以下scaffold (使用Ruby 2.2.0,rails 4.1.8,postgres):
rails g scaffold Test user:references text:references data:hstore
在我的test_spec.rb中:
require 'rails_helper'
RSpec.describe Test, :type => :model do
describe 'User generates a test' do
before do
@text = create(:text,
我正在为Rails编写一个gem,它包括一个生成器来创建一个模型。在某些情况下,生成器应该调用自己,并使用generate方法来完成这一任务。当实际使用它时,这很好。
我使用RSpec 3.2和generator_spec一起尝试测试这个功能,但是作为一个gem,当它到达generate调用时,它会抱怨Rails不存在:
/path/to/ruby: No such file or directory -- bin/rails (LoadError)
因此,我一直试图对Generator#generate方法进行存根,以使其与规范中的run_generator做同样的事情,就在run_gene
我是TDD on Rails的新手,我试着用"Everyday Rails Testing with Rails“这本书来测试videos_controller,用于简单的显示页面,但它给出了错误'nil‘& render empty,如下所示。但我真的不知道我做错了什么。请给我提个建议。谢谢你的帮助。
spec/controllers/videos_controller_spec.rb
require 'spec_helper'
describe VideosController do
describe "GET show" do
我的Rails应用程序中有两个模型:
class Item < ActiveRecord::Base
end
class ItemLocalization < ActiveRecord::Base
end
同样,我有两个工厂:
factory :item do
sequence(:name) { |n| "item #{n}" }
description "this is a description"
association :locale, :factory => :locale_deCH
我想用RSpec测试一个模型,但我可能偶然发现了一个我找不到的拼写错误。有没有人能帮我一下?我已经和它斗争了很长一段时间,就是找不到任何错误。提前谢谢你!
user_spec.rb
require 'spec_helper'
describe User do
it "has a valid factory" do
FactoryGirl.build(:user).should be_valid
end
it "is invalid without an e-mail"
it "is
我正在尝试运行$ rspec命令,但是所有的控制器测试都失败了,除非我明确地将:type => :controller添加到每个规范中。
下面是我遇到的错误:
1) AccountsController GET index assigns all accounts as @accounts
Failure/Error: get :index, {}, valid_session
NoMethodError:
undefined method `get' for #<RSpec::ExampleGroups::AccountsControll
我已经用一个rails4应用程序设置了Rspec,但是测试正在返回:
Failure/Error: user = Factory(:user)
NoMethodError:
undefined method `Factory' for #<RSpec::Core::ExampleGroup::Nested_4::Nested_1:0x007fa08c0d8a98>
似乎我不正确地包括了FactoryGirl。我试过几种变体,但我无法使它起作用。
我的特快专递:
# This file is copied to spec/ when you run &
我正在构建一个基于社交流创业板的应用程序,这是一个Rails引擎。我有一个Rakefile。我已经在我的Gemfile中包含了工厂女孩宝石,但是由于某种原因,这个类的rake任务失败了。
gem中有很多测试,我想执行这些测试。Rails应用程序位于: /Users/sean/dropbox/fluent/sstest
gem的失败代码:
# Helpers for building the post activity
#
class ActivityObjectSpecHelper < ActiveRecord::Base
set_table_name "activity_o
我在为FactoryGirl未初始化的常量错误而挣扎
NameError: uninitialized constant Usernotactivated
我的factories.rb文件中有以下内容
FactoryGirl.define do
factory :usernotactivated do
name "foonotactiv"
email "foonotactiv@example.com"
password "secretnot"
activated false
end
end
下面是我的规范
it "s
在gemfile中。我添加了factory_girls_rails。
group :test do
gem 'cucumber-rails'
gem 'capybara'
gem 'database_cleaner'
gem 'factory_girl_rails'
end
group :development, :test do
gem 'rspec-rails'
end
在feature/support/env.rb中,需要spec/factories.rb中的工厂
require