问题标签 [rspec3]
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.
ruby-on-rails - 使用 RSpec 新语法进行货币轨道测试的模型
在这里是 Ruby on Rails 的新手。
我正在使用money-rails gem做一个有金钱支持的应用程序。我想测试货币语言环境。
在 test_helpers_spec.rb阅读gem 的示例,有
相应的产品型号在哪里
所以测试通过了。我将如何按照最近的 rspec 的 expect(...)语法重写该测试?我会尝试
但它失败了。
ruby - Ruby Rspec3 期望收到一次内部方法的调用
我想尝试测试一个对象是否在特定情况下使用优化。所以我有这种代码
我尝试编写这样的 rspec
但它不起作用......你知道这可能吗?如果是的话怎么办?
ruby-on-rails - RSpec 中单个设置的多个断言
我有一些较慢的规格需要优化。此类规范的示例如下所示:
这是非常易读的,我对它总体上很满意,除了每个额外的规范都会在总运行时间上增加至少 1 秒。这是不太可接受的。
(请不要讨论HeavyComputation
类的优化,因为它超出了这个问题的范围)。
所以我不得不求助于这样的规范:
这显然在性能方面要好得多,因为运行它的时间几乎是恒定的。问题是故障很难追踪,而且阅读起来也不是很直观。
所以理想情况下,我想两者兼而有之。这些方面的东西:
但不幸的是,我什至看不到从哪里开始实施它。它存在多个潜在问题(是否应该在共享结果上调用挂钩)。
我想知道这个问题是否有现有的解决方案。如果不是,最好的解决方法是什么?
ruby - 在类中启用期望语法
在 rspec 3.1.0 中,规范可以使用 #allow 存根方法:
这工作正常。但是,如果存根位于类的方法中,则不定义 #allow 方法:
错误是:
为什么我在课堂上存根
该测试将其测试替身定义为常规类,而不是使用 rspec 的“double”方法。这是因为测试替身有一个线程。测试替身里面是这段代码:
这可以防止被测代码在会话关闭后错误地使用套接字。
私人解决方案
我可以通过在 rspec-mock 中调用私有 API 来为测试提供对 #allow 的双重访问权限:
这行得通。但是,它在 rspec/mocks/syntax.rb 中被明确标记为私有 API:
问题
在 Rspec 3.1 中,我是否可以使用公共API 来使期望语法在类中可用?
ruby-on-rails-4 - Ruby on Rails 4 Rspec,Capybara 看不到按钮
Capybara 似乎没有在我的网页上看到按钮。这里有我的测试代码
在这里你可以看到我的观点:
错误是:
如何让水豚看到这个按钮?我只是找不到解决这个问题的方法,在此先感谢。
ruby - 翻译已弃用的 RSPEC
我正在尝试翻译一些旧的 rspec 测试 (v 2.1) 以使用最新版本的 rspec (3.1) 并在这一行遇到一些麻烦......
subject.should_receive(:damage).with(10)
v3.0 的语法是什么?
ruby-on-rails - Rspec 测试控制器使用本地渲染部分
我有控制器动作
在这里,我计划测试通过部分渲染传递的局部变量值。即
status_name
,status_updated_time
。
您能否让我知道如何在控制器中使用本地人编写 rspecs 以进行局部渲染。
ruby-on-rails - rspec `with` 必须至少有一个参数。升级到 3.1.0 后出错
我正在升级我们的代码库以使用 rspec 3.1.0,并在此处关注文档: https ://relishapp.com/rspec/docs/upgrade
现有测试之一在运行 transspec 后出现以下错误。
"with
必须至少有一个参数。使用no_args
matcher 设置不接收参数的期望。"
这是测试。
新的 synatx 不再收到块了吗?
ruby-on-rails-4 - 使用 rails 4 和 rspec 3 被 verify_partial_doubles 绊倒
我正在使用 authlogic 进行用户身份验证,在我的 ApplicationController 中,我定义了“current_user”、“current_user_session”等并将其设置为 helper_methods。
我的主索引有一个非常简单的视图规范:
问题是,如果我的配置中有“mocks.verify_partial_doubles = true”,那么这会导致一个令人印象深刻的巨大错误,因为它会转储整个对象,然后在底部说:
当然,建议将 verify_partial_doubles 设置为 true,但这样做会中断。我直接从文档中提取了这个:
如果该方法出现在 ApplicationHelper 中,它将起作用。但如果它在 ApplicationController 中并定义为 helper_method 就没有这样的运气了:
我想要 verify_partial_doubles 提供的保护,我该如何解决这个问题?
ruby-on-rails - 在 RSpec 3 请求中设置标头
我正在尝试为一些需要身份验证的 RSpec 请求设置标头。标题是ACCESS_TOKEN
. 无论我如何尝试设置标题,它都不会被设置。我知道该应用程序有效,因为我可以手动测试它,我只是无法让 rspec 测试工作。在此处查看此问题的完整源代码和测试:https ://github.com/lightswitch05/rspec-set-header-example
由于在我的大多数请求规范中都使用了身份验证,因此我创建了支持帮助程序模块来检索访问令牌并将其设置在标头中。下面是我如何尝试设置标题的摘要,请查看我在完整源代码中尝试过的所有内容
一个使用这个帮助器并且应该可以工作的示例请求规范,但总是失败,因为标头永远不会被设置:
我知道我可以在个人get
和post
请求中手动设置标头 - 但这不是 API 范围授权的可维护解决方案。想象一下,如果标题名称略有变化,则必须更改每个测试。