问题标签 [rspec2]

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 回答
793 浏览

ruby-on-rails - 如何在 RSpec 视图示例组中测试 link_to_unless_current

我正在使用 Rails 3 学习 RSpec 2,虽然到目前为止它进展顺利,但在视图中测试帮助程序 link_to_unless_current 时遇到问题。我一直在尝试做的是使用视图规范中的简单 assert_select 来确定是否在以下部分视图(HAML)中生成了链接:

但是,我不知道如何让视图规范识别“当前”的含义,因为它是一个视图规范,它只测试视图,而不是请求。我知道这在控制器规范中会简单得多,但我认为我应该测试视图在其规范中的作用,并且将此测试移到控制器规范中会造成很多混乱。我要问的是:有没有办法告诉视图规范,也许在“之前”块中,当前页面是什么?另外,我在组织测试方面做得对吗?这个测试是否应该正确地存在于控制器规范中?

0 投票
1 回答
220 浏览

ruby-on-rails - 如何规范并非所有型号

我知道

指定所有型号。

有没有办法只指定一个模型,或者只指定给定的模型集合?像这样的东西是可取的:

或与模型集合

顺便说一句:Brian Hogan 写了一些类似的东西(见这里)但也许 rspec2 中内置了一些东西

0 投票
2 回答
2959 浏览

ruby-on-rails - 如何从 RSpec 视图规范测试页面标题?

我正在用 Rails 3 学习 RSpec 2。为了在每个页面的布局中设置标签的内容,我有一个助手可以用来设置标题然后返回它:

帮助器从布局(返回标题)和单个视图(设置标题)中调用。现在,我想在视图规范中测试标题设置是否正确。由于没有呈现布局,我决定从规范中调用 page_title 并检查返回值是否符合我的预期。但是,这不起作用,并且总是只返回“站点名称”。我该怎么办?

0 投票
3 回答
5062 浏览

ruby-on-rails - Factory Girl:如何在不创建新记录的情况下将一条记录关联到另一条记录?

我正在使用 Factory Girl/Rspec2/Rails 3。

factory.rb中,我有:

然后在我的 rspec 测试中我有:

当我运行测试时,我得到:

我理解失败的原因是因为 FactoryGirl 正在创建另一个组织(同名)。

但我想做的是创建多个与同一个组织相关联的成员。我怎么做?

谢谢。

肖恩

0 投票
4 回答
26117 浏览

ruby-on-rails - 如何模拟 rspec 助手测试的请求对象?

我有一个查看助手方法,它通过查看request.domain 和request.port_string 来生成一个url。

我想用 rspec 测试这个方法。

但是当我用 rspec 运行它时,我得到了这个:

谁能帮我弄清楚我应该怎么做才能解决这个问题?如何模拟此示例的“请求”对象?

有没有更好的方法来生成使用子域的 url?

提前致谢。

0 投票
1 回答
1007 浏览

ruby-on-rails - Rspec 测试错误

红宝石 1.9.2,罗尔 3.0.1。当我运行“rspec spec”时,我得到了这个错误。实在想不通。

有人知道会发生什么吗?

0 投票
0 回答
630 浏览

ruby-on-rails - rails3 + rspec2 上的 fakefs + 回形针会给我一个错误“无法生成临时文件”

rails (3.0.1)
fakefs (0.2.1)
回形针 (2.3.4)
rspec (2.0.1)

我正在用 rspec 测试我的模型。由于这是一个测试,我想像回形针一样防止在公共目录下创建任何文件。我在想这个解决方法是使用 fakefs。

虽然我实现了这个

http://trevorturk.com/2008/12/11/easy-upload-via-url-with-paperclip/

能够从远程 url 保存图像,如果我不放这一行

包括 FakeFS::SpecHelpers

在我的 rspec 中激活 fakefs,它可以正常工作(并且确实在公共/系统下创建文件......,我不想用于测试)

如果我激活 fakefs,由于某些原因,我会收到一个错误,例如

无法生成临时文件`/tmp/stream20101027-704-adna7o-9.gif'

在方法

/tmp 权限是 drwxrwxrwt,所以我认为任何人都可以在上面写字。

这是我的问题。

  1. 我不应该使用 fakefs 来测试回形针相关的方法吗?
  2. 我应该不关心此类测试的回形针文件创建吗?或者还有其他解决问题的方法吗?
0 投票
1 回答
7188 浏览

ruby-on-rails - FactoryGirl:如何在不传递参数的情况下定义工厂

我正在使用 Rails 3 / factory_girl_rails / Rspec 2 和 Ruby 1.8

我这样定义我的工厂:

我的测试运行良好。

我注意到在工厂女孩页面上,他们在示例中定义了工厂,而在 do 之后没有传递参数 http://github.com/thoughtbot/factory_girl):

为了清理我的代码,我尝试模拟定义工厂而不在do之后传递参数并将我的代码更改为:

但我得到了错误:

我究竟做错了什么?或者它是一个兼容性问题 - 即,也许 factory_girl_rails(适用于 rails 3)与 factory_girl 的工作方式不同)。

谢谢。

肖恩

0 投票
1 回答
1086 浏览

ruby-on-rails-3 - Rspec2 和 Rails 3 - 查看嵌套资源的规范路由

我有一个嵌套资源,设置如下:

EggsController 的视图位于 views/eggs 下,但是:

在调用渲染时给出“No route matches {:action => "create", :controller => "eggs"} 错误。如何让 RSpec 找到视图规范的正确(嵌套)路径?

附带说明一下,有没有办法为 Rails 3 控制器脚手架生成器指定嵌套资源?

0 投票
2 回答
197 浏览

ruby-on-rails - 如何跟踪 RSpec 正在加载哪个文件?

我正在使用 Rails 3.0.1、RSpec-Rails 2.0.1 和 Webrat 0.7.1。我有以下测试:

pages#main 的 HTML 签出:它包含我的标题。当我运行 rspec 时,它让我在这个测试中失败,并说它希望在以下行中找到标记:

由于这不是存储在 pages#main 中的文件,因此我认为 rspec 出于某种原因加载了错误的页面。我该如何解决这个问题?或者,如果没有一个通用的解决方案,我怎样才能让 rspec 告诉我它正在尝试加载哪个页面,以便我可以尝试找出它为什么会转到另一个页面?谢谢。