问题标签 [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.
ruby-on-rails - 在 Rspec 中添加控制器宏
我试图为 Rspec 定义一些控制器宏。我使用 rails 3 并在 spec/support/macros/controller_macros.rb 中定义了我的宏,该文件如下所示:
在我的规范助手中,我有:
所以在我的控制器规范中,我只是在我的管理测试中调用 login_admin 但是当我使用我得到的方法时
起初我认为 controller_macros.rb 没有被包括在内,但是当我在文件中添加了一个“puts”时,这表明该文件至少正在被执行。
我看不出我的设置有什么问题,将 login_admin 方法复制到描述块中工作正常,所以我不确定它有什么问题。
webrat - RSpec、webrat 和转义字符
我在 Rails 3 中使用RSpec 2和webrat来测试我的观点。我想确保视图不显示特殊字符(如“
)。这是我的规格:
问题是 webrat 解析“
引号,而浏览器 - 在 Chrome 和 Firefox 中测试 - 不解析。有什么方法可以告诉 RSpec 或 webrat 解析浏览器会执行的字符串吗?
ruby-on-rails - 我应该如何将 RSpec 与 Rake、Rails 和我现有的测试集成?
我想开始使用 RSpec 为我的 Rails 应用程序编写测试,但是我有很多使用 Test::Unit 编写的现有测试。我想继续能够简单地从命令行运行所有测试(或所有单元测试、功能测试等),例如
或者其他什么,让它运行所有的单元测试,无论它们是用 Test::Unit 还是 RSpec 编写的。而且我绝对不想浪费大量时间将我现有的测试转换为 RSpec;这是一个非首发。
现在我在想我希望我的 RSpec 测试与我现有的测试一起存在,在测试/单元、测试/功能等中。实现这一点的最佳方法是什么?或者这甚至是一个好主意?也就是说,我对 RSpec(以及 Ruby 和 Rails,就此而言)还很陌生,所以将 RSpec 分开可能是一种更好的做法。不过,无论它们存储在文件系统的什么位置,我仍然需要能够使用单个 rake 任务运行所有测试,并且我需要使用 rcov 收集整个测试语料库的代码覆盖率,这我已经在使用我现有的测试了。
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
ruby-on-rails - rake 规范给了我错误
嗨,大家好,
我不擅长 gem 管理,并且无法让我的 RSpec 正常工作。在我的
我有这些
当我跑步时,rake spec
我得到了这些
我尝试为缺少的 gem 二进制文件运行 bundle install ,我得到了这个
我不知道发生了什么,我尝试调试和谷歌搜索没有任何进展。因此,如果您知道如何解决这些问题,请帮助我。
如果我做错了什么,请告诉我
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,一切都会按预期进行。
ruby-on-rails - 了解 RSpec 失败
我在运行时遇到这些故障rspec spec/
。失败的规范是使用脚手架自动生成的。我试图了解 RSpec,但我不知道从哪里开始寻找原因,除了感觉缺少某种方法?!?然而,应用程序似乎运行良好。没有任何关于这些失败的内容出现在test.log
. 我应该在另一个地方寻找线索来追踪它吗?
这是显然失败的规范(edit.html.haml_spec.rb
)。它是由以下自动生成的rails g scaffold Clown name:string balloons:integer
:
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 文档。但他们似乎早已不复存在……
这些文档藏在哪里?
ruby-on-rails - RSpec 存根和模拟相关(belongs_to)关系
我试图通过尝试扩展使用 Rails 3 脚手架生成的默认规范来解决 RSpec 令人难以置信的令人困惑的语法,至少最初是这样的语法......
我有相关的模型......非常简单:
但我遇到了rabbits_controller.spec.rb 的问题。因为当我提到小丑时,规格失败了。在兔子的一个观点中命名。愚蠢的简单应用程序按预期工作,但规格失败,因为我没有存根(或嘲笑?)小丑正确回应兔子(或者至少这是我认为正在发生的事情)?!?我应该如何添加存根(或嘲笑与兔子相关的小丑?)。
现存的:
ruby - 断言没有在模拟上调用任何方法
我正在使用 Flexmock 模拟框架使用 Rspec2 编写测试。我希望我的一种方法可以缓存结果,并希望用我的模拟来验证这一点。
如果我想确保:expensive_method
永远不会调用它,这很有效。但是,我希望我的班级能够在:method
不调用传入(模拟)班级的任何内容的情况下做。有没有办法表达这个?
背景:在我的例子中,注入的类执行昂贵的操作,因此应该为相等的查询缓存结果。
更新
感谢到目前为止的建议,也许我只是在假设错误的事情,或者我想要的甚至没有意义。我实现缓存的方式是保存一个类变量SomeClass
并将其添加到:method
:
现在,为了测试正确的缓存,我必须:extensive_method
至少调用一次来加载缓存。我喜欢 David Chelimsky 的解决方案,但它并没有回答我的初衷,即:测试在第一次调用SomeClass.method
注入的类之后不再调用(也:expensive_method
没有其他任何东西)。