问题标签 [ruby-mocha]

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

ruby-on-rails - 模拟外部 API

我是测试策略和模拟的新手,我很难弄清楚如何模拟对外部服务的调用。我确定这很容易我错过了,我只是不知道到底是什么。

我正在使用 Braintree gem 通过 Braintree 网关对订阅服务收费,我想在我的 UserController 的 create 方法中模拟 Customer create 方法和 Subscription create 方法。

Customer.create 方法如下所示:

这将返回一个 Braintree::Successful 结果对象,以及处理结果的属性。

我想我必须做类似的事情:

但是退货区会发生什么?我是否需要使用伪造的处理结果的属性创建自己的模拟成功对象,还是有更简单的方法来完成所有这些?

感谢您的任何帮助,您可以提供。

0 投票
1 回答
176 浏览

ruby - 当我将 Mocha 0.9.8 与 Test::Unit 2.1.1 一起使用时,为什么会出现 NoMethodError

有人见过这个吗?这是错误:

这是触发该错误的代码:

0 投票
1 回答
1748 浏览

ruby-on-rails - 如何使用 Ruby on Rails 模拟 twitter api?

我正在开发一个使用 twitter API 的应用程序。我目前正在将 rspec 与 mocha 一起使用,但我发现它很麻烦,并且我无法重用为给定方法创建的模拟。有没有一种方法可以让你给一个电话,返回一些东西,而另一个电话又返回一些东西?或者它需要通过每种方法?

0 投票
2 回答
3186 浏览

ruby - 如何模拟已经模拟的对象的实例方法?

我需要模拟以下内容:

因此,在我的用户测试中,要访问用户的 facebook 信息,我需要调用user.facebook.me.info以检索其信息。如果我想模拟这个,我目前正在使用以下内容:

这可行,但似乎有点笨拙,有没有更好的方法来做到这一点?

[编辑] 我使用 mocha 作为模拟框架

0 投票
2 回答
197 浏览

ruby - 从其他方法调用的测试方法

我有带有方法 generate_from_database 的模块数据库,该方法为循环旋转并调用方法 get_length。如何使用 rspec 或 mocha 测试 get_length 是否被调用了 n 次?

0 投票
2 回答
6235 浏览

ruby - 红宝石。在 RSpec 中模拟

我有嘲笑的问题。我有类 DistanceMatrix,我想指出在 if/else 语句中调用了哪个方法 form_matrix。我需要使用 mocha 和 RSpec。有任何想法吗?

它尝试过:

但出现错误:

我发现在 RSpec 中我们不应该使用 .expects() 而是 .should_receive(),所以我尝试了:

但有新的失败:

0 投票
1 回答
1262 浏览

ruby - 是否有与 Rspec 的“mock().as_null_object”等效的 Mocha?

是否有与 Rspec 的“mock().as_null_object”等效的 Mocha?

0 投票
1 回答
3133 浏览

ruby - 如何使用 mocha 存根对象上的所有内容

如何使用 mocha 存根对象上的所有方法?

我试过了

  1. object.stubs(:everything)
  2. stub_everything('class_name')

以上两种方式都行不通。

0 投票
3 回答
1900 浏览

ruby - 有没有办法设置 $ 的值?在 Ruby 中模拟?

我正在测试一些与系统命令交互的脚本。它们的逻辑取决于系统命令的返回码,即$?的值。因此,作为一个简化的示例,脚本可能会说:

为了能够正确测试这些方法,我希望能够删除内核反引号调用,并设置 $? 到任意值,看看我是否从反引号调用后的方法中的逻辑中获得了适当的行为。美元?是一个只读变量,因此以下内容不起作用:

我可以做一些简单的事情:例如,设置 $? 为零或非零。例如,将设置 $? 到 0 或 35212(无论如何在我的系统上),取决于 $? 的值:

我真正想做的是设置 $? 到特定值(例如 3 或 122),而不仅仅是零或任意非零。我想不出办法来做到这一点。(以防万一,我正在使用 Test::Unit 和 Mocha 进行测试。)

0 投票
4 回答
10161 浏览

ruby-on-rails - mocha/rspec 是否有“not_expects”?

我需要确保在给出一组特定条件的情况下不调用方法,并且我正在寻找与 mocha 期望相反的方法。