问题标签 [rr]

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

ruby-on-rails - 如何编写规范来验证局部渲染?

我正在使用 rr(模拟框架)和 rspec 与 ruby​​-on-rails。另外,我使用集合简写进行部分渲染。我的问题:如何正确填写以下视图规范?

我尝试了 rspec book、rspec docs 和 rr docs 中的一些示例。我尝试的一切似乎都让我在测试中出现运行时错误——不是失败的断言。我没有展示我尝试过的所有转换,而是想出了如果有人向我展示了一个真正有效的转换,我所需要的一切。我会很高兴从那里去。

0 投票
2 回答
281 浏览

ruby - 在 Ruby 中模拟:模拟在测试之间徘徊

我正在使用 RR 作为我个人项目的模拟框架。我一直在用它来模拟某些类的新方法,当我运行测试时它们通过了很好,但是当我运行所有测试时,我遇到了一个问题,似乎“新”方法仍在返回假的结果,即使在不同的测试文件中。有没有办法手动关闭新方法的存根?我在这里想念什么?

感谢您的帮助,亚历克斯

我已经尝试将此代码放入我的应用程序中,但它会破坏应用程序,并且....不能解决上述问题。

0 投票
1 回答
1389 浏览

c - ns_parserr:消息长;使用 BIND 解析器库函数 ns_parserr() 时出现错误消息

下面的代码假设打印出我在我的区域文件中的 TXT 资源记录。
当我仅使用 BLOCK 1(不存在 BLOCK 2)执行代码时,我得到了我拥有的 3 个 TXT RR 中的每一个的名称、类型、类、TTL 和数据长度。
但是当我只使用 BLOCK 2 执行代码时,我只能得到第一个 TXT RR 的答案,然后是一条错误消息:ns_parserr: Message to long。
有人可以帮我解决这个问题。
提前致谢。

这是我在两个块上得到的结果:
vanco@vanco-laptop:~/Desktop$ gcc d2ip.c /usr/lib/libresolv.a
vanco@vanco-laptop:~/Desktop$ ./a.out www .example.com
CP->www.example.com
类型->16类-
>1
TTL->10800
数据长度->41

数据->(ver=dgw1 pre=8 id=0 name=www.example.com。 <br/>
43
Data->(ver=dgw1 pre=8 id=0 name=www.example.com
ns_parserr: Message too long

0 投票
10 回答
6977 浏览

ruby-on-rails - 测试“无限循环”的最佳实践是什么?

我的基本逻辑是在某处运行无限循环并尽可能地对其进行测试。拥有无限循环的原因并不重要(游戏的主循环,类似守护进程的逻辑......),我更多地询问关于这种情况的最佳实践。

让我们以这段代码为例:

我想使用 Rspec 测试该方法Blah.run(我也使用RR,但普通的 rspec 将是一个可以接受的答案)。

我认为最好的方法是分解更多,比如将循环分成另一种方法或其他东西:

...这允许我们测试run和模拟循环...但是在某些时候需要测试循环内的代码。

那么在这种情况下你会怎么做呢?

根本不测试这个逻辑,意思是测试some_other_method&yet_another_method但不是do_some_looping

通过模拟在某个时候循环中断吗?

……别的?

0 投票
1 回答
2428 浏览

ruby-on-rails - 更改数据库的 Rspec 操作

我对涉及影响数据库的控制器方法的 rpsec 测试的行为有点困惑。我见过许多涉及 POST 和 DELETE 的 rspec 测试示例,人们在其中检查对象是否已创建或删除。在大多数这些测试中,人们可以通过以下测试来检查数据库中模型的数量是否增加或减少:

或使用 lambda:

最后一个示例中的语法并不完美,但我的观点是,根据我的经验,我需要在对象上调用 reload 以使这些测试中的任何一个通过,但由于某种原因,其他测试能够使它们工作无需显式调用重新加载。每次我测试数据库创建/销毁操作时调用 reload 的事情对我来说似乎很可疑。

谁能帮我理解发生了什么?谢谢!

实际代码更新

我得到这个回应:

如果我在调用 photo_count 之前重新加载@album,它会起作用。

0 投票
1 回答
1585 浏览

ruby-on-rails-3 - 如何在 Rails 3 上使用 RR(双红宝石)模拟带有块的方法

我正在使用 Koala gem 发出 facebook 请求,并且我有以下代码:

我想模拟批处理调用来模拟我们在那里做的事情。

这是我在 RR 中的内容。

问题是block_given?即使在我的源代码中传递了一个块,也返回 false。

我如何模拟使用 RR 获取块的方法?

0 投票
1 回答
2106 浏览

ruby - Ruby 单元测试技术、模拟和存根

我被招募为 SW 开发人员,我正在尝试在 ruby​​ 中使用 RSPEC 和 RR 进行单元测试,但很难决定具体的策略,主要是因为我被分配为已经编写的代码编写单元测试书面。

考虑以下代码,它是名为 method1 的大方法的一部分:

这部分方法的相关单元测试类似于:

"should do check only if id = 5234541252 or 6236253223"

但我遇到了几个问题,基本上涉及最佳实践,例如:

如何检查是否已使用 RR 和 RSPEC 从“method1”中调用 DoCheck?

我试过使用 dont_allow(Object).DoCheck 但它不起作用。

是否有任何其他方法可以得出结论是否调用了“DoCheck”?

0 投票
1 回答
499 浏览

ruby-on-rails - Rails RR UnitTesting:模拟 ActiveRecord 模型方法的问题

考虑以下类和方法:(这个类显然更完整,但是为了这个线程......):

以及以下单元测试:

由于某种原因,上述测试产生了一个RR::Errors::TimesCalledError错误,声称a_certain_method被调用了 0 次而不是 1 次......我一直在网上搜索没有运气的解决方案。

我尝试在非活动记录类上构建类似的测试,并且测试没有产生错误。我已经使用调试器检查它是否到达该self.a_certain_method行,并且还尝试使用以下内容而不是mock(order).a_certain_method

有没有人知道如何解决这个问题,因为我有点绝望......

0 投票
1 回答
464 浏览

ruby-on-rails-3.1 - 使用 RR 失败的 RSpec 视图测试 - 未定义的方法存根

我正在使用 Rails 3.1、RSpec 2.6 和 rr 1.0.4,我得到一个 NoMethodError:

我正在尝试利用下面的 RSpec 测试来测试我的“活动”show.haml 视图。如果我将我的 spec_helper.rb 文件更改为使用 RSpec 进行模拟而不是 rr 则测试通过。我尝试更改代码的语法,但没有成功。

我发现几个网站说 RSpec 和 rr 不能“一起玩得很好,一个人提供了这个对我不起作用的rpsec-rr解决方案。

这是我的 show.haml_spec.rb

这是我的 Eclipse 编译器使用 Aptana Studio 的输出

任何对替代语法的建议将不胜感激!

0 投票
1 回答
603 浏览

ruby-on-rails - 如何使用 RR 创建和分配存根对象?

我第一次尝试使用 RR 双框架,但对于如何转换我现有的 RSpec 存根有点卡住了。我看到了如何在文档中使用双图来获得与 RSpec 的 stub_chain 相同的结果,但是如何创建一个只响应定义的方法的 stub/mock?

例如,在 RSpec 中,我可以做admin = stub(admin?: true)然后使用 admin。我可以在 RR 中执行此操作,而无需先定义管理员吗? admin = User.new; stub(admin).admin? { true }

我能够做类似的事情admin = stub; stub(admin).admin? { true },但是那个双存根似乎很奇怪。