问题标签 [shoulda]

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 投票
8 回答
12548 浏览

ruby-on-rails - 为什么我应该在 Rails 中使用 RSpec 或 shoulda?

我正在设置一个 Rails 应用程序,我刚刚完成了一些单元测试,我的朋友说显然夹具不再酷,人们现在正在使用 RSpec 或 shoulda。我想知道使用这些其他工具包的实际好处是什么。任何信息都表示赞赏。

-fREW

0 投票
4 回答
579 浏览

ruby-on-rails - 如何在 shoulda 测试中删除重复项?

这是我所拥有的:

显然那里有很多重复。关于如何删除它的任何想法,如果至少是上下文和字符串?

0 投票
3 回答
1364 浏览

ruby-on-rails - 应该从战壕中测试工作流程

如今,Rails(而不仅仅是 Rails)开发世界中的每个人都在谈论 TDD(BDD)。很容易找到很多关于它的一般信息,有很多工具可以用于此目的,并且有很多(好的)示例说明如何使用它们。

现在,我已经在火车上了。我喜欢这个想法(以前从未做过 TDD),我决定选择 Shoulda(因为在我看来它很容易理解)。我读了很多例子,并做了一些初步测试。我的问题是:我只是不确定我是否做得对。正如我所说,网上有很多小例子,但我还没有找到任何全面的指南,涵盖 TDD 与 Shoulda 的整体工作流程。

以下是我的问题:

  • 你用 Shoulda 练习 TDD 的方式是什么?(在一次迭代中,您通常的工作流程是什么?)
  • 您还使用哪些其他工具(除了 Shoulda 本身)?
  • 还有其他提示吗?
0 投票
1 回答
1853 浏览

ruby-on-rails - 如何使用 Shoulda 正确测试此控制器操作?

我有以下控制器动作和测试。我是使用 Shoulda 进行测试的新手,我知道我的控制器的某些区域可以进一步测试。例如,我的 Flash 消息以及验证渲染。

所以我的问题是,我将如何在 Shoulda 中正确测试此控制器操作?

我的控制器操作(名称已更改以保护无辜者):

我的测试:

0 投票
2 回答
928 浏览

ruby-on-rails - 如何使用 Shoulda 测试引用类属性的 named_scope?

我有以下 ActiveRecord 类:

我正在尝试测试named_scope :current_user使用应该,但以下不起作用。

它不起作用的原因是因为在定义类时正在评估方法中的调用,并且在运行测试时我在块中更改了User.current_user之后的值。should_have_named_scopecurrent_usersetup

这是我为测试这个 named_scope 所做的:

那么你将如何使用Shoulda进行测试呢?

0 投票
4 回答
4477 浏览

ruby-on-rails - 如何在 Rails 中测试模型是否具有给定的方法?

我想实现该方法User.calculate_hashed_password。我正在尝试使用与 Rails 的内置测试工具一起使用的 Shoulda 测试库,因此与 Test::Unit 相关的答案与与 Shoulda 相关的答案一样好(我认为)。

我试图弄清楚需要测试什么以及我应该如何测试它。我最初的想法是做类似...

这是正确的方法吗?

0 投票
2 回答
2755 浏览

ruby-on-rails - 为什么这个 Rails 控制器测试失败了?

我试图理解为什么这个测试失败了。(我对测试有点陌生。)我正在使用内置的 Rails 测试框架,并添加了 Shoulda gem。

考试:

失败:

但是,如果我在控制台上运行它,app.get '/sessions/new'它可以正常工作,没有错误。

并且 " new" 模板在浏览器中按预期呈现。

我正在使用哈姆尔。也许这会导致问题。我的模板叫做“ new.html.haml”。

0 投票
2 回答
20388 浏览

ruby-on-rails - 如何在 Rails 测试中指定 POST 参数?

使用 Test::Unit 和 Shoulda。试图测试Users.create。我的理解是 Rails 表单为这样的对象发送参数:

这在你的行动中变成了哈希,对吧?

好的,所以在我的测试中,我尝试过......

在这两种情况下,在我的行动中,params[:user]都是零。

0 投票
2 回答
525 浏览

ruby-on-rails - 应该:测试控制器过滤器

所以我决定调查一下 Rails 的测试状态。在阅读了这里关于 Rails 的测试文档如何残暴的一些公认答案后,我开始同意。到目前为止,我显然不在了解 Rails 测试的人群中——尽管我对框架非常了解,或者我是这么认为的。

我读过Shouda 是一个很好的插件,所以我正在使用它。我的第一个测试:“确保方法需要一个 ID 参数”......嗯,这是有道理的;我想确保我的控制器上的 before_filter :validate_id 确实有效。这是测试我的索引的 GET 是否按预期方式工作所需的 3 步中的第 1 步。失败!显然,测试环境的运行方式与正常的 Rails 堆栈不同:

当 ActionController::TestCase 使用 get {} 时,我到处检查几乎没有包含过滤器的信息。我在哪里可以加入“Rails 测试人员俱乐部”,这样我才能解决这个问题?

0 投票
5 回答
2819 浏览

ruby - Test::Unit 在 Rails 中是否仍然相关?

我正在以古老的方式学习 Rails。通过阅读使用 Rails 进行敏捷 Web 开发(第 3 版)作为起点。我目前在教授测试的章节中。我也知道其他 BDD 测试框架,例如 RSPec。所以我想知道 RSpec、Cucumber、Should 等框架是否取代了了解/使用 Test::Unit 的需求?它们本身是否相关并用于不同目的?

更新:由于我是测试新手,因此我也很想获得有关哪些资源对我熟悉不同框架有用的反馈。

谢谢!