问题标签 [rspec2]

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 投票
3 回答
3982 浏览

ruby-on-rails - rails 3 教程:rspec + factory_girl_rails 问题

我一直在关注 Rails 教程(http://railstutorial.org/chapters/beginning,Rails 3 版本),当使用 Factory Girl 和 Rspec 时,我已经停在第 11 章,我有一个没有通过的测试我觉得我做错了什么,但我不明白是什么。
首先,Github 上有一个 git 存储库,其中包含未通过该测试的代码。 http://github.com/Monomachus/ch3_static_pages

所以我得到了用户模型


我有微博模型

然后我得到了工厂女孩设置

最后是 Rspec 代码

我得到了一个错误,它肯定告诉我我做错了什么。

如您所见,即使 user_id 属性设置不正确+
显然@user.microposts 没有任何元素。
请帮我解决这个问题谢谢

0 投票
1 回答
22066 浏览

ruby - Rails / RSpec:如何测试#initialize方法?

如何#initialize使用 RSpec 指定行为?例如这里:

生成器.rb

generator_spec.rb

我想设定pick_seed从方法调用的#initialize方法的期望。

0 投票
2 回答
1711 浏览

cucumber - Rails 集成测试

我正在为已经构建的 Rails 3 应用程序设置一堆集成测试。该应用程序是使用 Rails 3 和 Ruby 1.9.2 构建的。我已经看到有关 Capybara、Cucumber 和 RSpec 2 的建议,但我不确定它们各自的优势是什么。

我还注意到它们似乎紧密相连。我看到的帖子似乎总是在谈论将 Capybara 与 Cucumber 一起使用,或者将 Rspec 与 Cucumber 一起使用。

他们每个人的优点/缺点是什么?是否有某些组合最适合一起使用?

0 投票
1 回答
353 浏览

cucumber - 为什么 RCov 排除视图并包含评论?

我正在使用 Rails 3、RSpec 2 和 rcov gem。我正在使用以下 rake 任务在我的规格上运行 rcov:

首先,视图规格不包含在结果中。如何查看 rcov 结果中视图的代码覆盖率?其次,模型的代码覆盖率很低。当我查看详细信息时,这是因为注释行被突出显示为未执行。我怎样才能解决这个问题?最后,似乎大多数(如果不是全部)方法定义都被标记为未执行。有没有办法纠正这个问题?谢谢,达林

0 投票
1 回答
1338 浏览

ruby - Rcov 的 Rspec2 问题

在我的 Rakefile 中,我有一个这样定义的任务:

运行 test:coverage 时,我得到以下信息:

在我的宝石列表下方:

任何的想法?提前致谢。

0 投票
2 回答
1087 浏览

ruby-on-rails-3 - 如何使用 rspec 2 配置集成测试?

我需要为我的单元测试设置不同的设置,为我的集成测试设置不同的设置。例子

对于单元测试,我想做

对于集成测试,我想做

另外,在开始集成测试之前,我想确保 solr 已启动。因此我希望能够打电话

但是,仅用于集成测试。如果它是一个单元测试,我不想启动我的 solr。

如何保持它们的配置分开?现在,我通过将集成测试保存在 spec 文件夹之外的文件夹中解决了这个问题,该文件夹有自己的 spec_helper。有没有更好的办法?

0 投票
1 回答
1074 浏览

ruby-on-rails - Rspec - 在私有方法中模拟对象

在我们的应用程序中,我们为一些感兴趣的领域模型编写了 after_create/update/delete 回调。在这些模型中,我们创建了一个新的审计模型,它将更改模型的必要数据 xml 化,并将其存储在审计表中。例如,Consultant 模型的 after_create 回调如下所示:

def after_create
xml = #private xmlize() is called which returns the data of new Consultant object
audit = Audit.new :data=>xml.to_s
audit.save
end

现在,我想模拟审计对象,看看是否使用 RSpec 调用了它的保存方法。或者更好的是,如果有办法通过 RSpec 正则表达式 xml 的内容,我会很高兴学习如何在 Rails 环境中通过 Ruby 来做到这一点。

0 投票
2 回答
946 浏览

ruby-on-rails - Rails 控制器测试中的“get”方法为模块范围内的控制器抛出“无路由匹配”

对于我的范围路由,我似乎无法解决我的 rspec 控制器规范中的“get”方法。

我正在为我的“访问者”控制器确定路由范围,以便它们位于“访问者”模块命名空间内,但位于路由的根目录。所以'mysite.com/foo' 转到Visitor::FooController。

配置/路由.rb

规格/控制器/访问者/inquiries_controller_spec.rb

应用程序/控制器/访问者/inquiries_controller.rb

当我运行规范时,我收到以下错误。

我尝试为 get 添加一些额外的参数(例如:url => 'inquiries/new'、:controller => 'inquiries'),但我似乎无法解决这个问题。用我的浏览器点击“查询/新”可以正常工作,并表明我的路线按预期工作。

我是 rspec 的新手,所以这里可能存在一些我不理解的基本问题。否则,我正在寻找一种方法来解决这个问题,以便我可以测试这些“访客”控制器。任何帮助表示赞赏!

0 投票
1 回答
618 浏览

rspec2 - Rspec 存根查找器找到一个可枚举而不是单个对象

我刚刚开始使用 rspec 2,并且我认为在我的一个方法存根中的某个地方遇到了麻烦。我正在尝试从我的 clients_controller.rb 测试“显示”操作,但它失败了,返回一个 Enumerable::Enumerator 而不是一个对象。“索引”操作工作正常。我的目标是确保当前登录的用户可以查看他或她的客户,但不能查看任何其他用户的客户。

和:

stub_current_user 在 spec_helpers.rb 中:

'index' 动作的测试通过了,但 'show' 动作的两个测试都失败了,出现以下错误:

我不确定我在模拟、测试本身或其他地方是否出错了。

0 投票
4 回答
975 浏览

ruby-on-rails - Autotest 和 Factory Girl 的验证问题

我对自动测试有疑问。在我的用户模型中,用户名和电子邮件地址是唯一的。当我开始自动测试时,一切正常。在第二轮,从自动测试开始,我有一个

验证失败:电子邮件已被占用,用户名已被占用

只有两次测试出错。我不明白为什么,我使用带有 sequenze 的 factorygirl,这应该每次生成一个新的用户名。

这是我的 rspec2 文件:

工厂:

唯一两个不起作用的测试是在“唯一值”上下文中。所有其他测试都没有错误。

谢谢