rspec-rails相关内容
我正在尝试为我的控制器编写测试,该控制器接收来自外部服务的请求.到目前为止,这是我的测试: describe ApplyController do上下文“有效时"做让(:参数)做file = File.join File.dirname(__FILE__), '..', 'samples', 'Indeed.json'JSON.parse(File.read 文件)结尾让(:签名){'GC02U
..
发现了类似的问题,但令人惊讶的是没有,我发现了,请给出一个简单的答案... 试图在我的控制器规范中存根一个辅助方法;不太确定需要加倍的对象是什么? 控制器调用这个方法: #app/helpers/sessions_helper.rb定义登录?current_user.present?结尾 我想在规范中存根以返回真/假. 解决方案 您可以从控制器规范中提取它: contro
..
鉴于我的 API 使用者需要发送这样的客户 HTTP 标头: # curl -H 'X-SomeHeader: 123' http://127.0.0.1:3000/api/api_call.json 然后我可以像这样在 before_filter 方法中读取这个标题: # app/controllers/api_controller.rb类 ApiController 到目前为止很棒.
..
我正在使用 rspec 编写单元测试. 我想模拟 Rails.env.develepment?返回真.我怎么能做到这一点?. 我试过了 Rails.env.stub(:development?, nil).and_return(true) 它抛出这个错误 activesupport-4.0.0/lib/active_support/string_inquirer.rb:22:in
..
我在 Rails 中开始了 TDD 之旅,但遇到了一个关于模型验证测试的小问题,我似乎无法找到解决方案.假设我有一个 User 模型, class User 真的结尾 和一个简单的测试 它“应该需要一个用户名"做User.new(:username => "").should_not be_valid结尾 这正确地测试了存在验证,但是如果我想更具体怎么办?例如,在错误对象上测试 full_
..
对于如何编写 RSpec 3.2.x 规范来检查列表是否包含至少一个满足条件的项目,我有点不知所措. 这是一个例子: model = Invoice.new模型名称 = '测试'更改 = 模型.更改期望(更改).包括 { |x|x.key == '名称' &&x.value == '测试' } 更改列表中也会有其他(自动)更改,因此我不想验证是否只有一个特定更改,而且我也不想依赖排序 e
..
关注 Railscast #385 Ƃ 我已经为我的 Rails 4 应用程序(rails4.2.6,rspec-rails 3.4.2).添加授权后,我所有的控制器规格都失败了. 我的功能规范仍然通过,因为在规范中我以管理员身份登录以执行不允许访问者的操作(:edit、:update...).如果我允许访问者执行所有操作,我的控制器规格就会通过.但是,只有管理员才能执行的任何操作都
..
我在使用子域约束进行 rspec 路由测试时遇到问题. 特别是我有一条路线 constraints :subdomain =>“api"做资源 :sign_ups, :only =>[:创造]结尾 和(除其他外)测试 它“确实允许创建注册"做{:post =>"/sign_ups"}.should route_to(:控制器=>"注册",:动作=>“创造",)结尾 如果我删除子域约束
..
我正在尝试在 ROR 应用程序的 rspec 中编写一些测试(不是为了代码覆盖率,但在这里无关紧要),并且至少需要别名描述和它.我可以用别名来描述就好了,因为它在顶层.但是,我不能让其他任何东西工作.喜欢这个人: 模块 RSpec模块核心类 ExampleGroupMethods别名:他们:它结尾结尾结尾 我将其包含在规范文件中,但我没有正确获取模块路径.我查看了 rspec 代码库,但碰壁了
..
目前我正在运行超过 1000 个示例,需要很长时间才能完成(超过 20 分钟!!!). 我想确定哪些示例需要更多时间才能完成,有没有办法运行 rspec 并返回每个示例完成(单独)所需的时间?我正在使用 rspec 1.3.0 和 rspec-rails 1.2.3 解决方案 您可以使用分析来列出 10 个最慢的示例: spec -p spec/*/*_spec.rb --colo
..
将 Rails 应用升级到 Rails 5 后,运行 RSpec 测试出现以下错误: rails 中止!ActiveRecord::NoEnvironmentInSchemaError:在架构中找不到环境数据.要解决此问题,请运行:bin/rails db:environment:set RAILS_ENV=test 但是,那个 bin 不存在,我似乎无法用 bundle binstubs r
..
因此,我们在 Rails 3.2 应用程序中的许多字段上设置了 attr_accessible 和 attr_protected.目前我们确实没有测试以确保这些字段受到保护. 所以我决定在谷歌上搜索一些答案并偶然发现了这个解决方案: RSpec::Matchers.define :be_accessible do |attribute|匹配做 |响应|response.send("#{at
..
describe、context、feature、scenario:这四种和我什么时候使用每个? 解决方案 context 是 describe 的别名,因此它们在功能上是等效的.您可以互换使用它们,唯一的区别是您的规范文件的读取方式.例如,测试输出没有区别.RSpec 书说: “我们倾向于使用 describe() 表示事物,使用 context() 表示上下文". 我个人喜
..
我已经安装了用于我的 rails 应用程序的 guard-rspec gem.当我通过 bundle exec guard 从命令行启动 guard 时,它第一次运行我的整个测试套件没有问题. 但是,每当我对规范文件或我的 Guardfile 中指定的任何监视文件进行任何更改时,Guard 似乎都无法识别这些更改,并且不会重新运行任何测试. 我什至尝试像这样在我的 Guardfile
..
我试图在我的控制器中定义的帮助程序上存根一个方法.例如: class ApplicationController 在我的 Rspec 中: 描述 SomeHelper它“为什么我不能存根辅助方法?!"做helper.stub!(:current_user).and_return(@user)helper.respond_to?(:current_user).should be_true #
..
我开始制作 Rails 3.1 引擎,但我很难使用 rspec 对其进行测试. 首先,如果我运行 rails g integration_test what 它会在测试/集成而不是规范/请求中创建一个常规的集成测试(安装了 rspec-rails gem 并且需要作为开发依赖项)在 gemspec 文件中) 此外,当我运行规范测试时,我收到一条错误消息,指出与我正在测试的模型相对应的表
..
我将 rspec-rails 升级到 3.0.1,现在我在所有测试中都看到了这个错误 失败/错误:Sidekiq::Status::complete?(json.jid).should be_true期望 true 响应 `true?` 我找不到解决方案,也找不到我遗漏的东西. 解决方案 从 rspec 3.0 开始,be_true 更名为 be_truthy 和 be_falseb
..
我正在尝试在我的 rspec 中调用一个 rake 任务. 需要“耙子"耙 = 耙::Application.newRake.application = rakerake.initrake.load_rakefile耙['耙我的:任务'].invoke 但我收到错误 失败/错误:rake['rake db:migrate'].invoke运行时错误:不知道如何构建任务 'rake db:
..
试图通过 Michael Hartl 的教程;在这里遇到问题. 我刚刚创建了应用程序. 这是我在运行“bundle exec rspec spec/requests/static_pages_spec.rb"时看到的内容 Corey-M-Kimball:sample_app coreymkimball$ bundle exec rspec spec/requests/static_p
..
我创建的控制器规范失败并显示以下错误消息: NameError: undefined local variable or method ‘app’ for \# ... # spec/controllers/sessions_conroller_
..