问题标签 [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 回答
212 浏览

ruby-on-rails - Konacha、Mocha、BackboneJS 和 Ruby on Rails 配置

我正在使用 Konacha 在我的 Ruby on Rails 应用程序中测试 BackboneJS 应用程序。我已经阅读了网络上的每个教程,它显示了设置和开始工作是多么容易。不幸的是,我没有达到这样的成功水平。这是我所拥有的:

应用程序/资产/javascripts/app_specific/itapp/models/post.js

规范/javascripts/app_specific/itapp/models/post_spec.js

规范/javascripts/spec_helper.js 文件:

我确实有一个 config/initializers/konacha.rb 文件:

我得到的错误:

错误:无法加载 app_specific/itapp/collections/posts_spec.js。也许它无法编译?检查 rake 输出是否有错误。

检查 rake 输出:

ActionView::Template::Error: 在我的 spec_helper.js 中找不到我需要的文件“应用程序”

因此,出于某种原因,即使在我的 spec_helper 中我试图为测试环境加载 BackboneJS 应用程序,它也无法找到它。

我应该尝试让这种沟通/工作的任何想法/想法?

——迈克·莱利

0 投票
1 回答
923 浏览

ruby-on-rails - 用于功能测试的存根 MailChimp api 调用

我正在尝试测试特定列表的 MailChimp 订阅:

测试/功能/some_controller_test.rb

控制器/some_controller.rb

但我认为我在这里遗漏了一些东西,因为测试正在通过,但他们正在调用 API,因为当我使用我的电子邮件进行测试时,我每次运行时都会收到来自 MailChimp 的电子邮件确认:

如果我尝试运行:

或者

我收到以下错误:

编辑我

我能够使用 any_instance 方法执行此操作:

但仍在调用 API。

0 投票
1 回答
116 浏览

ruby - 如何使用 ParameterMatchers 验证数组的元素数量和内容?

我正在使用 Mocha 和 MiniTest 使用 TDD 学习 Ruby。我有一个类有一个公共方法和许多私有方法,所以我的测试要测试的唯一方法是公共方法。

这个公共方法做一些处理并创建一个发送给另一个对象的数组:

伟大的。为了测试它,我想模拟该OutputGenerator.write_to_file(path, pairs)方法并验证参数。我可以成功实施的第一个测试:

现在我想和一对参与者一起测试。我正在尝试这个

问题是 equals 只会匹配 obj 引用,而不是内容。

有什么方法可以验证数组的内容吗?验证数组中元素的数量也非常有用。

ps:如果代码不符合ruby标准,我很抱歉,我正在做这个项目来学习语言。

0 投票
1 回答
106 浏览

ruby-on-rails - mocha gem 中的 rr gem assert_received 等价物

现在我使用rr gem 来存根项目模型的计数方法,然后我复制索引操作来检查计数方法是否被调用。我打算使用 mocha gem,但我不知道mochaassert_received gem 中方法的等价物是什么。以下代码是我的测试示例之一。

0 投票
1 回答
242 浏览

ruby-on-rails - mocha gem 存根方法和分配响应

在此示例中,我使用rr gem,并在此处存根对象方法 obj.project ,并在从任何其他方法或类调用该方法时将返回值分配给任何变量(在本例中为 project_data )。

当我调用任何使用 obj 调用 project 方法的方法时,project_data将由 obj.project 方法的返回值分配。有没有办法用mocha gem 来实现这种技术?我用谷歌搜索了可能的解决方案,但我找不到任何解决方案

0 投票
1 回答
154 浏览

ruby-on-rails - RSpec、Mocha 和 Rubymine - 未定义的方法“mocha_setup”

我在一个文件夹中有两种风格的规范,其中一种使用全脂 rails 环境,使用 rspec,另一种是轻量级助手,需要单独使用 gem。

最近我在 Rubymine 中同时运行这些文件时遇到了一些问题。

右键单击任一样式的单个文件运行良好。右键单击文件夹并选择“运行>文件夹中的所有规范”已为每个规范返回此错误:

直到最近,这一直很好地结合在一起。

我可以从命令行运行所有规范,没有任何问题:

这似乎是在 Rubymine 中运行此文件夹的特定内容。我已尝试使缓存无效并重新启动 IDE。我尝试删除运行该文件夹的配置。

有谁知道这可能是什么原因造成的?

更新:从那以后,我发现通过命令行调用它时似乎偶尔会发生这种情况。

0 投票
1 回答
3320 浏览

node.js - 如何在 Travis CI 的一个项目中运行 Node.js 和 Ruby 测试

我有一个包含多个组件的存储库,其中大部分是用 JavaScript (Node.js) 编写的,一个是用 Ruby (Ruby on Rails) 编写的。我想要一个 .travis.yml 文件来触发一个构建,该构建运行每个组件的所有测试。根据这个 Travis CI Google Group thread,目前没有官方支持。

我的目录结构如下所示:

. ├── buildserver ├── core ├── extensions ├── webapp ├── Vagrantfile ├── package.json ├── .travis.yml └── Makefile

我希望能够运行特定版本的 Ruby (2.2.2) 和 Node.js (0.12.2)。我已经有一个make目标,所以make test在每个子目录中运行适当的测试套件。

0 投票
1 回答
806 浏览

ruby-on-rails - Ruby Mocha 如何存根嵌套哈希?

我在这里有一个需要使用 Mocha 模拟的方法,但目前我不知道如何在这里模拟嵌套哈希。

Products.new(:A => "aa", :B => "bb").containers['container_A'].elements['element_b']

到目前为止,我知道如何存根Products.new(:A => "aa", :B => "bb"),但不知道它后面的哈希部分。

提前致谢。

0 投票
0 回答
171 浏览

ruby-on-rails - 如何存根也是红宝石中哈希名称的方法?

我是 ruby​​ mocha 的新手,需要模拟一个也是哈希的方法。目前该方法做了两件事:

我所做的是

我不确定这是否是正确的方法,但它通过了编译器。

0 投票
2 回答
963 浏览

ruby-on-rails - 在 Rails 中使用 Mocha 在 File.open 中存根写入方法

我的 spec_helper.rb 具有以下配置:

我想测试以下代码:

所以这是我的规格:

但是输出显示没有调用write方法。

这是输出:

那么我是否write以正确的方式存根该方法?如果没有,是否有任何其他方法可以在块内编写方法调用规范do |obj| ..end