问题标签 [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.

0 投票
1 回答
1113 浏览

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:

0 投票
1 回答
1147 浏览

sqlite - 使用 FactoryGirl 在 RSpec 中创建测试对象失败并出现嵌套属性

我有一个锻炼模型,它有很多 PerformedExercises,它有很多 PeformedSet。我无法让它在我的测试中构建一个对象,我不确定它是 SQLite3 还是其他东西(它在测试环境之外工作正常)。

我有以下工厂:

我的 RSpec 测试看起来像这样(我让它变得非常简单,以排除测试中的任何其他问题):

当我运行测试时,我收到以下错误消息:

任何帮助将不胜感激!

0 投票
2 回答
1178 浏览

ruby-on-rails - rSpec - 如何在模型方法中测试选择

我有一个模型,它的方法只返回用户的名字和数量。

我将如何使用 rSpec 测试返回值?

该方法返回一个用户对象数组,但只有两个属性。这就是我卡住的地方。

0 投票
1 回答
730 浏览

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。

0 投票
3 回答
5043 浏览

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

这是一个错误吗?这是我不理解的某种预期行为吗?我只是在看一些明显的东西吗?

0 投票
1 回答
488 浏览

ruby-on-rails-3 - 为什么这个规格/控制器测试不能通过?它以前做过......(Rails,RSpec)

以下是我的规范/控制器/超级管理员/users_controller_spec.rb:

以下在我的 app/controllers/superadmin/users_controller.rb 中:

如果我没记错的话,这个测试过去是通过的。自从我将 PostgreSQL 设置为测试和开发环境的数据库以来,这个测试一直失败......不知道为什么。

错误信息:

协助表示赞赏!

0 投票
1 回答
1236 浏览

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)”之前创建的吗

0 投票
1 回答
803 浏览

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此操作时出现以下错误:

我看不出期望和结果之间有任何区别......你能指出我正确的方向来完成这个工作吗?

规格:

工厂:

风景:

控制器:

和模型:

如果缺少什么,请随时询问,我会放在这里。

0 投票
1 回答
470 浏览

ruby-on-rails - 无法在 rails 2.3.5 中加载 rspec 生成器

我正在开发 Rails 2.3.5,我希望我们Rspec进行测试。我已经安装了 rspec gem,但无法在生成器列表中列出 rspec。我指的是https://github.com/rspec/rspec-rails

谢谢。

0 投票
3 回答
1168 浏览

ruby-on-rails-3 - 编写 RSpec 测试/示例的最佳实践是什么?写例子来测试正面/正面、负面或两者兼而有之?

对于 BDD 和 RSpec 来说相当新,我真的很好奇人们在编写 RSpec 测试/示例时通常会做什么,特别是因为它涉及同一事物的正面和负面测试。

以验证用户名和有效用户名仅包含字母数字字符的规则为例。

肯定/肯定测试将是这样的:

虽然阴性测试是这样的:

你会写一个测试,而不是另一个?两个都写好吗?你会把它们放在同一个测试中吗?我已经看到人们执行上述任何操作的示例,所以我想知道是否有最佳实践,如果有,它是什么?

写正负测试的例子:

我见过有人这样做的例子,但老实说,我不喜欢这种方法。我倾向于以单一目的保持事物干净和独特,就像我们应该如何编写方法一样,所以我更有可能编写两个单独的测试而不是将它们放在一个中。那么有没有说明这种情况的最佳实践呢?这些示例应该从一个角度而不是所有角度测试单个特征/行为。