问题标签 [rspec-rails]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 如何测试rails模型的after_initialize回调?
我正在使用 FactoryGirl 和 Rspec 进行测试。如果模型为 nil,则模型在 init 之后设置一个外键。因此它使用另一个关联的数据。但是我该如何测试呢?通常我会使用工厂来创建这个对象,并为“self.user.main_address.country_id”使用 stub_chain。但是随着这个对象的创建,初始化之后会被调用。我没有机会打断它。
任何的想法?
ruby-on-rails - Railstutorial.org 验证存在测试
我一直在阅读railstutorial.org上的教程,但我对作者在 6.2.1 验证存在部分的代码感到有些困惑。
在用户模型中,教程添加了validates :name, :presence => true
. 很简单。
当作者选择编写 rspec 测试时,他做了一些我认为有点奇怪的事情。
为什么要麻烦将一个空白字符串合并到@attr
何时可以摆脱 :each 块语句并简单地编写:
我知道作者也使用该@attr
变量来验证电子邮件地址的存在,这是他使用块语句的原因之一——对我来说,遵循第二个块引用的结构更有意义。不过,我有一种感觉,我在这里缺少一些东西。
@attr
我想到的另一种解释是,当需要输入很多键时,它有助于使用该结构,而不是仅使用名称和电子邮件的这种相当简单的情况。
有人有意见吗?
ruby-on-rails-3 - 我将如何使用 Rspec 测试此控制器操作
我应该如何指定这个
我目前的规格
规格结果
路线
ruby - rspec / rake 问题 - Rake::DSL 全局方法正在以某种方式破坏我的模型
我正在升级到 3.1,但遇到了麻烦。
我有一个模型(使用 Mongoid),显然它的“链接”方法被 Rake 覆盖。我收到这条消息:
因为该方法正在解析,所以我没有堆栈跟踪或任何东西。这发生在我的 rspecs 中,但问题不会发生在控制台中。
Gemfile 如下。
即使您不知道答案,如果您对我在这里如何处理调试过程有任何建议,那就太好了。
-杰夫
ruby-on-rails - 使用 Rspec 测试 Rails 3.1 可安装引擎
我开始制作 Rails 3.1 引擎,并且很难使用 rspec 对其进行测试。
首先,如果我运行rails g integration_test whatever
它,它会在测试/集成而不是规范/请求中创建一个常规集成测试(安装了 rspec-rails gem,并且需要作为 gemspec 文件中的开发依赖项)
此外,当我运行规范测试时,我收到一条错误消息,指出与我正在测试的模型对应的表尚未创建。我尝试从虚拟应用程序内部rake engine_name:install:migrations
运行rake db:migrate
,但出现“表已存在”错误。
一切似乎都断开了,我觉得我在这里缺少一些东西来使 rspec gem 无缝工作,就像它通常与完整的 rails 应用程序一样。
我遵循了这里http://rubyx.com/2011/03/01/start-your-engines的所有更改,我可以通过控制台启动虚拟应用程序来手动测试引擎,如下所示http://railscasts。 com/episodes/277-mountable-engines。
有没有办法让 rspec 成为测试 rails 3.1 引擎的默认值?
ruby-on-rails - 使用 RSpec 测试嵌套资源
我正在尝试为 Rails 中的嵌套资源创建测试。相关路由定义为:
使用 RSpec 和 factory_girl,我正在尝试使用例如测试开始
这些请求总是导致
对于我的一生,我找不到使用 RSpec 指定到嵌套资源的路由的方法。我在这里做一些根本错误的事情吗?
更新: rake 路线的相关部分是:
ruby-on-rails - Authlogic 和 RSpec 的问题
我正在使用 Authlogic gem 编写一个简单的调查应用程序。当我使用内置测试工具的 rails 进行测试时,一切正常,但现在使用 Rspec 我收到以下错误:当它尝试运行命令时出现此错误require "authlogic/testcase" from spec_helper.rb
它试图从 activesupport/dependencies 而不是 authlogic 获取 authlogic/testcase。请任何人都可以建议我哪里出错了。版本:ruby -1.9.2 rails - 3.0.10 authlogic - 3.0.3 rspec -2.6.0
提前致谢
rspec - 升级到 Rails 3.1 后,许多使用 test_sign_in 的 rpsec 测试失败,可能是 cookie 问题?
我已经升级到 Rails 3.1,一切似乎都运行良好。但是测试(RSpec)无论如何都会失败,例如以下测试:
这适用于 Rails 3.0.8,但现在测试失败。测试日志说:
[1m[35mSQL (0.2ms)[0m INSERT INTO users
( admin
, created_at
, email
, encrypted_password
, name
, salt
, updated_at
) 值 (1, '2011-09-21 10:30:30', 'admin@example.it', '68f8a34e0243a642662fe2b6ea8ed7c714d042750a66ce54'2f2df88 8 'ca管理员名称”、“6df34c304d79437d495e60d2d34e1028489731afa96690efbc25c714224edb1f”、“2011-09-21 10:30:30”)
由 CitiesController#show 处理为 HTML [1m[35mUser Load (0.2ms)[0m SELECT users
.* FROM users
WHERE users
. id
是空限 1
[1m[36mCity Load (0.2ms)[0m [1mSELECT cities
.* FROM cities
WHERE cities
. id
= 942 限制 1[0m
[1m[35mCity Load (0.2ms)[0m SELECT cities
.* FROM cities
WHERE cities
. id
= 942 限制 1
[1m[36mCity Load (0.2ms)[0m [1mSELECT cities
.* FROM cities
WHERE cities
. id
= 942 限制 1[0m
[1m[36mUser Load (0.2ms)[0m [1mSELECT users
.* FROM users
WHERE users
. id
IS NULL LIMIT 1[0m
因此,似乎没有用户 ID(NULL),但之前已正确创建了管理员。这可能是cookie问题吗?
我的 Gemfile 中的测试组是:
我的 test.rb 是
这是我的 spec_helper:
感谢您的建议/回答!
ruby-on-rails - rspec 模拟“未定义的方法 `stub_model' for #(NoMethodError)"
我正在使用 Rails 3.1,我想在我的规范中添加一些存根和模拟,但我得到一个 NoMethodError:
这是我的 GemFile 的摘录:
我跑了 bundle install 和 rails g rspec:install
这是尝试创建 stub_model 的代码
这是spec_helper.rb:
我正在调用“rspec ./spec”和“bundle exec rspec ./spec”(两者都试过,没有区别)
我所做的一切似乎都是教科书(事实上,我正在遵循 The Rails 3 Way)。
我错过了什么?