问题标签 [rspec-mocks]
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 spec_helper 配置问题:未定义的方法 `syntax=' for #(无方法错误)
我正在尝试使用 rspec 测试确认在控制器方法中调用了一个函数。为此,我遵循relishapp 文档来设置消息期望。
但是,我无法将此代码段添加到spec_helper.rb
:
虽然只是config.mock_with :rspec
已经在文件中并且没有引起任何问题,但添加上面的代码片段并运行 rspec 会导致出现以下错误:
我该如何解决这个问题?
ruby-on-rails - FactoryGirl 在控制器和视图规范中比 Rspec-Mocks 有什么好处?
在由外而内的 Rails 开发方法中,我们从视图开始并遍历模型,在这种方法中,我们单独指定和测试每个部分,以便视图规范与控制器和模型隔离,控制器规范与视图和模型隔离, 等等。因此,在这种方法中,FacctoryGirl 可以适应,以及在指定控制器和视图时使用它比 rspec 加倍的好处是什么。我的意思是,由于 FactoryGirl 要求已实例化的模型在使用它之前必须存在,因此应该在控制器和视图之前进行测试,因此它不会是一种由外而内的方法。
ruby-on-rails - Bundler 找不到 gem "rspec-mocks" 的兼容版本 - Bundler::VersionConflict
我尝试在托管服务器上部署。但是当我转到我的域时,我看到 phusion 乘客错误消息:
所以我这样做:
然后我得到:
所以我再做一次:
最后我明白了:
Bundler 找不到 gem "rspec-mocks" 的兼容版本:在 Gemfile 中:guard-rspec (= 2.5.0) ruby 依赖于 rspec-mocks (~> 2.14.0) ruby
(捆绑器::版本冲突)
我必须从我的 Gemfile 中删除其中一个吗?
ruby-on-rails - RSpec::Mocks::ExampleMethods 的未定义方法 instance_double
我有一个这样的测试用例:
当我运行 RSpec 时,我得到一个错误:
根据http://rubydoc.info/github/rspec/rspec-mocks/RSpec/Mocks/ExampleMethods这种方法存在。所以我尝试通过以下方式直接访问它:
然后我得到了一个非常令人惊讶的错误:
这与我上面链接的文档相反。
我错过了什么?
ruby-on-rails - Rspec模拟,“期望”也可以将方法存根作为副作用吗?
我正在尝试理解继承应用程序中的测试,我需要一些帮助。
有很多像这样的规范组(查看规范):
...job_post
作为在控制器上定义的辅助方法。(是的,他们本可以使用@instance 变量,而我正在重构它)。
现在,在我看来,使用块expect
内部before
是错误的。让我们暂时忘记这一点。
通常上面的测试是绿色的。
但是,如果我删除该expect
行,测试将失败。在这种情况下,似乎是在expect
视图上存根方法。实际上,替换expect
为allow
似乎具有完全相同的效果。
我认为正在发生的事情通常是——当与服务器一起运行时——视图将调用job_posts
并且消息将落在控制器上的辅助方法上,这是预期的行为。
然而,这里expect
是设置一个期望值,同时在 stub 上view
使用一个固定返回值的方法。由于视图模板将调用该方法,因此测试通过。
关于意外的“存根”副作用expect
,我在rspec-mocks 自述文件中发现了这一点:
(...) 我们还可以设置一个消息期望,以便在未调用 find 时示例失败:
RSpec用它自己的类似 test-double 的方法替换了我们正在存根或模拟的方法。在示例结束时,RSpec 验证任何消息期望,然后恢复原始方法。
有没有人对该方法的这种特定使用有任何经验?
ruby - 由于 rspec-mocks#setup,RSpec.configure 不起作用并且示例失败
我在 3 个月前开始使用 rspec,我正在一个 sinatra 项目中使用它(使用 ruby 2.1.1)...
我的规格没有错误(它们已在其他计算机上成功运行),但是在我自己运行它们时,我为每个示例都得到了这个......
===========================
我使用了这个链接(https://github.com/rspec/rspec-core/issues/754),但它对我不起作用(我的应用程序位于名为项目的文件夹中)......
我也尝试过使用 ruby 2.0.0 但这是同样的问题......
我很乐意阅读有关它的任何有用的文章...谢谢
ruby-on-rails - rspec-mocks 的双打设计仅用于一个示例
我有一个关于如何在示例之间共享 rspec-mocks 的问题。我正在用 rspec-mocks 编写一个新的 rails 应用程序3.1.3
。我习惯于使用旧的 (< 2.14 并且如果当前的 rspec 使用情况,我会尝试更新我的知识。
我有一个模型方法:
这是规格:
当我自己运行一个测试时它很好,但是当我运行整个describe ".from_strava"
块时它会失败并显示消息
我明白它在说什么,但肯定这是对double
2 个示例中使用的 a 的适当使用。毕竟,client
双精度对示例并不重要,它只是我加载预设响应的一种方式。我想我可以使用 WebMock,但这似乎非常低级,并且不能很好地转化为实际编写的代码。毕竟,每个例子我们应该只断言一件事。
我曾想过client
用一个电话来代替双重
但这似乎也不是正确的方法,因为文档指出这 receive_message_chain
应该是代码气味。
因此,如果我不应该使用receive_message_chain
, shared client
double 并且还遵循标准 DRY 原则,那么我应该如何解决这个问题?
我希望对此有一些反馈。
谢谢,戴夫
rspec - 使用 RSpec-mock 在 JRuby 中模拟 Java 接口
我正在为 JRuby 中的 JDBC 编写一个简单的包装器。本质上,我想要一个包装类DBW
,它接受一个连接字符串和一个可选的初始化块。
但是在我的测试中,我想使用一个测试替身作为向Driver
注册的DriverManager
,所以我在 RSpec 测试中完成了以下操作:
运行测试时出现以下错误:
如测试代码中所述,acceptURL 方法没有被DriverManager
. 有什么我想念的想法吗?
ruby - 使用 rspec-mocks 测试模块方法
如何使用 Rspec 3 模拟测试此模块中的配置方法?
我试过这样的事情:
看起来,它不起作用,为什么?
失败:
1) TestModule 配置应该有配置实例失败/错误:allow(obj).to receive(:config).and_return(config) TestModule 没有实现:config # ./spec/config_spec.rb:41:in `block (2水平)在'
ruby-on-rails - 什么是 RSpec 模拟?
我刚开始学习 Ruby on Rails。当我研究 RSpec 测试时,我看到了一个关于 RSpec Mocks 的推荐链接。但是我不知道 RSpec Mocks 的优点以及如何使用它。任何人都可以对此进行总结。