问题标签 [stubbing]

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

lambda - Rhino 模拟存根表达式

我想存根具有以下签名的方法:

我正在使用 Rhino Mocks,任何想法

谢谢

0 投票
3 回答
13188 浏览

rspec - 使用 Faraday 和 Rspec 存根

我有一个看起来像这样的模型:

和一个看起来像这样的测试:

不过,这个测试并不能真正让我满意,因为我正在测试的是我正在使用 Faraday 进行一些 POST,但我实际上无法测试 URL、标头或正文,因为它们是通过一个块。我尝试使用 Faraday 测试适配器,但我也没有看到任何测试 URL、标头或正文的方法。

有没有更好的方法来编写我的 Rspec 存根?或者我是否能够以某种我无法理解的方式使用法拉第测试适配器?

谢谢!

0 投票
1 回答
360 浏览

rspec - 创建新的存根方法,检查该方法是否存在于 Rspec

我想创建一些特别的存根方法stub_checkstub_chain_check确保该方法存在。

例如:

但我想像Payment.stub_check(pay: true)

0 投票
1 回答
2666 浏览

ruby - RSpec - 模拟(或存根)覆盖混合方法

我有这样的情况:

现在问题出在测试上——我想确保从覆盖的方法调用超级方法并将其存根,以便我可以测试方法的其他部分。如何使用 RSpec 模拟来实现这一点?

0 投票
1 回答
195 浏览

ruby-on-rails-3 - 使用 rspec 在 rails 中存根保存方法

我的控制器中有以下操作:

我想用 rspec 进行测试。但是,我想取消保存操作以模拟失败:

但是,存根似乎不起作用,因为保存操作总是成功的。我究竟做错了什么?

谢谢

0 投票
1 回答
2257 浏览

ruby - 需要其他方法返回的 Rspec 测试实例方法(存根?)

我希望对那些已经存在的方法进行测试,但是我尝试的所有方法似乎都不符合最佳实践,也不起作用。

可能有人可以支持我吗?

代码待测试

RSPEC 尝试

首先指定似乎没有为除数方法和实例变量@value 设置正确的返回值。

0 投票
3 回答
23912 浏览

ruby-on-rails - 如何在 Rails 中使用 Rspec 存根错误引发?

我是 Rails 和 Rspec 的新手,我正在使用 Rspec 测试这个控制器方法,其中包括异常处理:

我不知道如何正确测试所述路径:在无效搜索后(收到错误时)它应该重定向到主页。我试过这样的事情:

运行测试失败并出现错误后: NameError: uninitialized constant Movie::NoDirectorError

如何伪造在此测试中引发错误,以便实际检查是否发生重定向?

谢谢!

更新:

正如 nzifnab 解释的那样,它找不到Movie::NoDirectorError. 我忘了定义这个异常类。所以我将它添加到app/models/movie.rb

这解决了我的问题,这个测试通过了。

0 投票
2 回答
10754 浏览

ruby - 如何测试一个带有 rspec 块的函数

我有一个函数,它接受一个块,打开一个文件,产生并返回:

我正在尝试使用 rspec 为它编写一个测试。如何存根 File.open 以便将对象 f (由我提供)传递给块,而不是尝试打开实际文件?就像是:

0 投票
1 回答
976 浏览

node.js - 如何在没有--bare的情况下使用Coffeescript在node.js中存根“全局”模块变量?

我有一些来自 Heroku 的环境变量,为了便于阅读,我倾向于将它们分配给全局变量以提高可读性:

现在我想在测试中改变它的值。我试过rewiresandboxed-module。但是,它们都是直接设置全局变量,而咖啡脚本变量被包装在匿名函数中

有没有办法解决这个问题,或者--bare如果我想测试我的代码,我真的必须使用吗?

0 投票
1 回答
470 浏览

node.js - 如何使用 Gently 对模块未立即公开的对象的方法进行存根?

我正在使用适用于 NodeJS 的AWS开发工具包。

我有一个moduleFoo像这样设置的模块():

我正在尝试消除该describeInstances方法。

我知道我可以通过以下方式对EC2班级进行存根:

根据Gently docs ,我可以通过对其构造函数进行存根来创建一个假实例:

在这一点上,我卡住了。我需要做的是存根出属于的对象的方法ec2。有没有办法使用 Gently 来解决这个问题?