问题标签 [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 - railstutorial.org - rspec 失败,但在浏览器中一切正常
我正在尝试遵循Rails 教程,但我的 rspec 失败,但在浏览器中,该应用程序可以根据需要运行。那是当我登录(在浏览器中)并转到“http://localhost:3000/users/1/edit”时,此页面将打开。本教程中所有先前的 rspecs 均已通过。
我正在使用 Rails '3.1.0.rc4' 并在 Windows 中工作。
失败的规范(来自 users_controller_spec.rb):
来自 spec_helper.rb 的 test_sign_in 代码:
工厂代码.rb
来自控制台的文本:
UPD:在“get :edit, :id => @user”之后,用户没有登录。但正如我在浏览器中写的,一切都按需要工作。这怎么可能?
这是 ApplicationControlelr 中包含的 SessionHelper:
sqlite - 使用 FactoryGirl 在 RSpec 中创建测试对象失败并出现嵌套属性
我有一个锻炼模型,它有很多 PerformedExercises,它有很多 PeformedSet。我无法让它在我的测试中构建一个对象,我不确定它是 SQLite3 还是其他东西(它在测试环境之外工作正常)。
我有以下工厂:
我的 RSpec 测试看起来像这样(我让它变得非常简单,以排除测试中的任何其他问题):
当我运行测试时,我收到以下错误消息:
任何帮助将不胜感激!
ruby-on-rails - rSpec - 如何在模型方法中测试选择
我有一个模型,它的方法只返回用户的名字和数量。
我将如何使用 rSpec 测试返回值?
该方法返回一个用户对象数组,但只有两个属性。这就是我卡住的地方。
ruby-on-rails - RSpec 导轨。渲染的方法
RSpec-rails 视图示例中的rendered
方法用于获取渲染视图模板。
例如:
我很难找到这种方法的根源。它从何而来?
谢谢。
Debian GNU/Linux 6.0.1;
红宝石 1.9.2;
Ruby on Rails 3.1.0.rc4;
RSpec-rails 2.6.1。
ruby-on-rails - Cookie 不会在 Rails 3.1 上的 Rspec 中保留
这是以下环境中控制器规范中的 cookie 集合的问题:
- 导轨 3.1.0.rc4
- rspec 2.6.0
- rspec-rails 2.6.1
我有一个简单的控制器规范,它创建一个工厂用户,调用一个设置 cookie 的登录方法,然后测试登录用户是否可以访问页面。问题是,在设置身份验证 cookie 和在我的控制器上调用“显示”操作之间,所有 cookie 似乎都消失了。
我的代码在 Rails 开发服务器上的浏览器中运行时运行良好。运行规范时更奇怪的行为是,通过 cookie 散列设置的所有内容都消失了,但通过会话散列设置的所有内容仍然存在。我只是错过了使用 rspec 时 cookie 的工作原理吗?
规格代码
登录代码
get :show 请求的身份验证检查在此处失败,因为 cookies[:auth_token] 为 nil
这是一个错误吗?这是我不理解的某种预期行为吗?我只是在看一些明显的东西吗?
ruby-on-rails-3 - 为什么这个规格/控制器测试不能通过?它以前做过......(Rails,RSpec)
以下是我的规范/控制器/超级管理员/users_controller_spec.rb:
以下在我的 app/controllers/superadmin/users_controller.rb 中:
如果我没记错的话,这个测试过去是通过的。自从我将 PostgreSQL 设置为测试和开发环境的数据库以来,这个测试一直失败......不知道为什么。
错误信息:
协助表示赞赏!
ruby-on-rails - @routes 是在“before(:all)”之后和“before(:each)”之前创建的吗?
在 rails 项目中,当我像这样编写一些控制器的规范时:
我遇到了一些这样的错误:
失败/错误:post :create, :user=>@user_attributes
运行时错误:
@routes 为零:确保在测试的设置方法中设置它。
# ./spec/controllers/sessions_controller_spec.rb:22
# ./magazine_slave.rb:22:in `run' # magazine_slave_provider.rb:17
当我将 before(:all) 更改为 before(:each) 时,测试将通过。
@routes 是在“before(:all)”之后和“before(:each)”之前创建的吗
rspec2 - Capybara 没有找到实际存在的文本!
在我的实际项目中,我使用以下 gem 进行测试:
- 来自 git://github.com/jnicklas/capybara.git 修订版 6641fddcfc337a3ddaa84ac59272e884090332c3 中的水豚
- rails (3.1.0.rc5) (及其要求)
- factory_girl (2.0.1)
- factory_girl_rails (1.1.0)
- rspec (2.6.0)
- rspec 核心 (2.6.4)
- rspec-rails (2.6.1)
执行rake spec
此操作时出现以下错误:
我看不出期望和结果之间有任何区别......你能指出我正确的方向来完成这个工作吗?
规格:
工厂:
风景:
控制器:
和模型:
如果缺少什么,请随时询问,我会放在这里。
ruby-on-rails - 无法在 rails 2.3.5 中加载 rspec 生成器
我正在开发 Rails 2.3.5,我希望我们Rspec
进行测试。我已经安装了 rspec gem,但无法在生成器列表中列出 rspec。我指的是https://github.com/rspec/rspec-rails。
谢谢。
ruby-on-rails-3 - 编写 RSpec 测试/示例的最佳实践是什么?写例子来测试正面/正面、负面或两者兼而有之?
对于 BDD 和 RSpec 来说相当新,我真的很好奇人们在编写 RSpec 测试/示例时通常会做什么,特别是因为它涉及同一事物的正面和负面测试。
以验证用户名和有效用户名仅包含字母数字字符的规则为例。
肯定/肯定测试将是这样的:
虽然阴性测试是这样的:
你会写一个测试,而不是另一个?两个都写好吗?你会把它们放在同一个测试中吗?我已经看到人们执行上述任何操作的示例,所以我想知道是否有最佳实践,如果有,它是什么?
写正负测试的例子:
我见过有人这样做的例子,但老实说,我不喜欢这种方法。我倾向于以单一目的保持事物干净和独特,就像我们应该如何编写方法一样,所以我更有可能编写两个单独的测试而不是将它们放在一个中。那么有没有说明这种情况的最佳实践呢?这些示例应该从一个角度而不是所有角度测试单个特征/行为。