问题标签 [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 投票
3 回答
3875 浏览

ruby-on-rails - 在 Rspec 中添加控制器宏

我试图为 Rspec 定义一些控制器宏。我使用 rails 3 并在 spec/support/macros/controller_macros.rb 中定义了我的宏,该文件如下所示:

在我的规范助手中,我有:

所以在我的控制器规范中,我只是在我的管理测试中调用 login_admin 但是当我使用我得到的方法时

起初我认为 controller_macros.rb 没有被包括在内,但是当我在文件中添加了一个“puts”时,这表明该文件至少正在被执行。

我看不出我的设置有什么问题,将 login_admin 方法复制到描述块中工作正常,所以我不确定它有什么问题。

0 投票
1 回答
368 浏览

webrat - RSpec、webrat 和转义字符

我在 Rails 3 中使用RSpec 2webrat来测试我的观点。我想确保视图不显示特殊字符(如“)。这是我的规格:

问题是 webrat 解析“引号,而浏览器 - 在 Chrome 和 Firefox 中测试 - 不解析。有什么方法可以告诉 RSpec 或 webrat 解析浏览器会执行的字符串吗?

0 投票
1 回答
2345 浏览

ruby-on-rails - 我应该如何将 RSpec 与 Rake、Rails 和我现有的测试集成?

我想开始使用 RSpec 为我的 Rails 应用程序编写测试,但是我有很多使用 Test::Unit 编写的现有测试。我想继续能够简单地从命令行运行所有测试(或所有单元测试、功能测试等),例如

或者其他什么,让它运行所有的单元测试,无论它们是用 Test::Unit 还是 RSpec 编写的。而且我绝对不想浪费大量时间将我现有的测试转换为 RSpec;这是一个非首发。

现在我在想我希望我的 RSpec 测试与我现有的测试一起存在,在测试/单元、测试/功能等中。实现这一点的最佳方法是什么?或者这甚至是一个好主意?也就是说,我对 RSpec(以及 Ruby 和 Rails,就此而言)还很陌生,所以将 RSpec 分开可能是一种更好的做法。不过,无论它们存储在文件系统的什么位置,我仍然需要能够使用单个 rake 任务运行所有测试,并且我需要使用 rcov 收集整个测试语料库的代码覆盖率,这我已经在使用我现有的测试了。

0 投票
1 回答
8946 浏览

ruby-on-rails - stub_chain 和 should_receive

我正在尝试测试在方法调用链中是否有一个方法获取特定参数。例如,在下面的代码中,MyModel 必须接收方法的参数 0 offset。不幸的是,下面的代码不起作用。似乎无法混合 should_receive 和 stub_chain。我怎么能解决这个问题?我正在使用 RSpec 2。

我正在尝试测试的代码:

更新

我还在 RSpec Google Group 上发布了这个问题,David(RSpec 的创建者)回答了这个问题(感谢 David):http ://groups.google.com/group/rspec/browse_thread/thread/6b8394836d2390b0?hl=en

0 投票
2 回答
1229 浏览

ruby-on-rails - rake 规范给了我错误

嗨,大家好,

我不擅长 gem 管理,并且无法让我的 RSpec 正常工作。在我的

我有这些

当我跑步时,rake spec我得到了这些

我尝试为缺少的 gem 二进制文件运行 bundle install ,我得到了这个

我不知道发生了什么,我尝试调试和谷歌搜索没有任何进展。因此,如果您知道如何解决这些问题,请帮助我。

如果我做错了什么,请告诉我

0 投票
2 回答
1753 浏览

ruby - 自动测试、RSpec 2 和 Ruby 1.9.2-p0 - 完全没有输出

我已经开始使用 Ruby 进行连续测试(B2.0 打印)这本书,但我遇到了直接的问题。根据第一章,我使用 Jeweler 1.5.1 创建了一个空宝石

使用 rake 手动运行规范会给出正确的失败输出

为了为 RSpec 2 配置 Autotest,我在我的项目的根目录中创建了./autotest/discover.rb,如本书和其他地方所述,其中包含以下内容:

但是当我尝试通过自动测试(ZenTest 4.4.0)运行 RSpec(2.2.0)规范时,我根本没有得到任何输出。

这都是使用 Ruby 1.9.2-p0 到 RVM (1.0.2)。如果我切换到 Ruby 1.8.7-p302,一切都会按预期进行。

0 投票
1 回答
722 浏览

ruby-on-rails - 了解 RSpec 失败

我在运行时遇到这些故障rspec spec/。失败的规范是使用脚手架自动生成的。我试图了解 RSpec,但我不知道从哪里开始寻找原因,除了感觉缺少某种方法?!?然而,应用程序似乎运行良好。没有任何关于这些失败的内容出现在test.log. 我应该在另一个地方寻找线索来追踪它吗?

这是显然失败的规范(edit.html.haml_spec.rb)。它是由以下自动生成的rails g scaffold Clown name:string balloons:integer

0 投票
2 回答
5726 浏览

ruby-on-rails - RSpec 文档...它藏在哪里?

查找RSpec-2(和rspec-rails)文档的时间很糟糕。具体来说,我想查找所有可用的匹配器......但是如何?

我试过了:

  • RSpec.info:过时 - RSpec 1.x
  • rdoc.info:对我来说似乎没用。(不完整?)
  • RSpec-Relish:令人困惑。不完整?如何查找可用的匹配器?
  • GitHub Wiki:分散的信息。无组织的。不完整?

是的,我知道这本书……但是,说真的,这不是网上的东西吗?

甚至尝试过rake doc:plugins,但没有奏效。太绿了不知道为什么...

显然,在rspec.rubyforge.org上曾经有一些不错的 1.x 文档。但他们似乎早已不复存在……

这些文档藏在哪里?

0 投票
1 回答
1616 浏览

ruby-on-rails - RSpec 存根和模拟相关(belongs_to)关系

我试图通过尝试扩展使用 Rails 3 脚手架生成的默认规范来解决 RSpec 令人难以置信的令人困惑的语法,至少最初是这样的语法......

我有相关的模型......非常简单:

但我遇到了rabbits_controller.spec.rb 的问题。因为当我提到小丑时,规格失败了。在兔子的一个观点中命名。愚蠢的简单应用程序按预期工作,但规格失败,因为我没有存根(或嘲笑?)小丑正确回应兔子(或者至少这是我认为正在发生的事情)?!?我应该如何添加存根(或嘲笑与兔子相关的小丑?)。

现存的:

0 投票
2 回答
1022 浏览

ruby - 断言没有在模拟上调用任何方法

我正在使用 Flexmock 模拟框架使用 Rspec2 编写测试。我希望我的一种方法可以缓存结果,并希望用我的模拟来验证这一点。

如果我想确保:expensive_method永远不会调用它,这很有效。但是,我希望我的班级能够在:method不调用传入(模拟)班级的任何内容的情况下做。有没有办法表达这个?

背景:在我的例子中,注入的类执行昂贵的操作,因此应该为相等的查询缓存结果。

更新
感谢到目前为止的建议,也许我只是在假设错误的事情,或者我想要的甚至没有意义。我实现缓存的方式是保存一个类变量SomeClass并将其添加到:method

现在,为了测试正确的缓存,我必须:extensive_method至少调用一次来加载缓存。我喜欢 David Chelimsky 的解决方案,但它并没有回答我的初衷,即:测试在第一次调用SomeClass.method注入的类之后不再调用(也:expensive_method没有其他任何东西)。