问题标签 [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 - rspec put 请求在我的存根上的正确参数是什么
我有一个控制器规格,但我得到了以下失败的期望:
对我来说,看起来我正在过去,"name" => "Test User"
我期待:name => "test user"
我的规格看起来像这样:
我的有效属性是这样的:
那么我的参数有什么问题有什么建议吗?
我正在使用带有 rspec 2.6.0 的 Rails 3.0.5 ...
ruby-on-rails - Rspec 工厂问题 - 概念问题?
我正在尝试在我们的 Ruby on Rails 系统中测试一个案例,在该案例中,我们在 x 次登录尝试失败后将用户锁定在外。我遇到的问题是尝试创建用户已达到“锁定”他的帐户的数量。我正在使用工厂来创建这样的用户-
其中 5 是“幻数”。当我尝试使用类似的东西时
它在数据库中创建一个用户——但新创建的用户总是将 login_count 设置为零,所以它只是将他记录在测试中。当我像这样尝试 .build 方法时
它像我想要的那样设置了 login_count = 5 的用户,但随后不认为该用户有效并且不会尝试登录(即,它给了我们“错误的用户/密码”错误而不是“正确的用户” /password 但你被锁定了'错误)。我想我在这里遗漏了一些东西来让 RSpec 了解这是一个有效用户但该帐户应该被锁定的事实。有人可以帮我纠正一下吗?下面是整个desribe块-
ruby-on-rails - 如何构建链式方法,例如 - should_receive(:something).with(:params, values).and_return(:something_else)
我试图让我的代码更小一些,构建一个看起来像 RSpec 中的 should_receive 的方法,这里的情况是我正在测试一个状态机,我有几个方法,代码如下:
我想将这些代码行替换为类似于以下内容:
这些方法是如何构建的?
rspec - rspec-rails 请求规范(或集成测试)的良好文档
我正在寻找有关如何使用 rspec 和 rails 进行请求规范(我也见过称为“集成测试”)的任何文档或参考。
这里的页面显示了“请求规范”自述文件中的一个片段,这是我想做的那种测试(全栈测试)。
这种测试风格中使用的所有方法是否有参考,例如如何使用夹具、cookie、会话、重定向等?
实际上,have_selector
上面使用的方法甚至还有 rdoc 吗?我无法为此找到 API 或 rdoc。也许我错过了一些东西。
谢谢!
ruby-on-rails - 在开发过程中更改 rspec 版本
我是 Ruby on Rails 的新手。我刚从 Michael Hartl ( klick ) 的 RoR 教程开始。我在 5.2.1 学习 Integration_tests。
当我运行rails generate integration_test layout_links
它会生成 rspec 文件,但运行时rspec spec
我得到:
You have already activated rspec-core 2.6.3, but your Gemfile requires rspec-core 2.x.x
并且所有测试都失败了。
如果我玩一点,我会得到SystemStackError:stack level too deep
所有测试都会失败。
可能我的 Gemset 搞砸了,或者我需要运行另一个版本的 rspec-rails。
我的 Gemfile.lock 的一部分看起来像:
编辑:解决。我将 rspec-rails 版本更改为 2.6.1 并将 'webrat' 添加到 :development 和 :test gem 集。奇迹般有效... :-)
ruby-on-rails-3 - jasmine 设置错误 rails 3.1 ActiveSupport::Concern (NameError)
我正在尝试按照他们网站上的说明设置 Jasmine Gem。运行后:
我收到一个错误:
ruby-on-rails - Rails 教程 3,RSpec 失败
我正在运行 Ruby on Rails 教程 3,并且正在做一个球,但我刚刚遇到了一些没有得到解决的问题。当我运行我的规范时,两个测试失败了。
我已经尽可能地搜索了我的代码,并将其与书中的代码进行了比较,但我一无所获。我确信这是我错过的一件愚蠢的小事,我将非常感谢第二双(或更多;)眼睛。
这是我的测试:
这是 users_controller 的更新方法:
任何关于我应该看哪里的想法都非常感谢。
ruby-on-rails - Rspec:我如何访问场景中标记的场景?
我有一个 rspec 场景,如下所示:
但我想sleep
根据场景的标记有条件地调用,例如:
我会很感激任何帮助。
ruby-on-rails - 对通过自定义路由调用的控制器方法进行单元测试
如何对通过自定义路由调用的控制器方法进行单元测试?
相关路线是:
在SessionsController
我不能只使用的规范上,get :create
因为该路线不存在。如果我也使用get /auth/facebook/callback/
它会告诉我No route matches {:controller=>"sessions", :action=>"/auth/facebook/callback"}
。
即使我在规范文件中设置了 request.env['something'] ,我似乎也不能只使用它,controller.create
因为它#create
从哈希中访问一些键并且它也重定向到另一个路径。request
ruby-on-rails-3 - 如何调试 rake spec 不执行测试;无限悬挂问题(rails 3)
使用 rake 0.9.2、rspec、期望、模拟 2.6.0、rspec-core 2.6.4、rspec-rails 2.6.1
当我执行 rake rails 或 rspec spec path/to/spec 时,我会得到正常输出,直到我期望看到测试实际执行,然后再无其他。我必须终止进程 kill-9 %1 才能终止任务。
我的宝石文件:
外壳输出:
直到我杀了之后,什么都没有了。使用 --trace 运行不提供任何附加信息。我确定我必须做一些愚蠢的事情。这似乎是从我最近遇到的 rake 版本问题开始的,因此升级到 rake 0.9.2,尽管我没有任何直接相关性的具体证据。感谢您提供有关如何更好地调试此问题的任何建议。