草庐IT

rspec-sidekiq

全部标签

ruby-on-rails - RSpec中的 "be_true"和 "be true"有什么区别

任何人都可以用简单的例子向我解释Ruby中be_true和betrue之间的区别吗?我还看到be_true和be_false更改为be_truthy和be_falsey我有一个示例,其中'be_true'有效,但是当我尝试使用'be_true'或'be_truthy'规范时失败.我正在使用RSpec版本3.1.7 最佳答案 根据thisthreadbe_true和be_false现在称为be_truthy和be_falsy。be_truth和be_truthy或者be_false和be_falsy之间的基本区别是be_falsy/b

ruby - RSpec 在带参数的方法上测试 ArgumentError

我在让这个简单的测试通过RSpec2.8时遇到了问题。我想编写一个简单的测试来检测需要参数的方法是否缺少参数(即ArgumentError:参数数量错误('x'代表'y'))。我的测试是像这样测试一个Gem模块方法:describe"#ip_lookup"doit"shouldraiseanArgumentErrorerrorifnoparameterspassed"doexpect(@geolocater.ip_lookup).toraise_error(ArgumentError)endend我的gem模块代码如下所示:moduleGeolocaterdefip_lookup(ip

ruby - RSpec 与 Shoulda?

我是单元测试领域的新手;我现在只使用单元测试大约2个月。当我在Ruby中进行单元测试时,我目前遵循TDD风格并使用Test::Unit::TestCase。我还阅读了RSpec以及它如何遵循BDD方法论。我也读过关于Shoulda的文章,它介于两个框架之间。我的问题是,我应该把时间花在RSpec还是Shoulda上,还是应该坚持使用Test::Unit::TestCase?对这个问题的任何意见表示赞赏。 最佳答案 Shoulda称赞Test::Unit和RSpec,所以我不认为这是选择Shoulda而不是RSpec的情况,反之亦然。

ruby - 同时运行延迟作业和 Sidekiq

我目前使用延迟作业来异步处理作业。我没有创建worker,而是经常使用.delay方法。我想转到Sidekiq,但是我的工作类型太多,无法确保所有工作都是线程安全的。所以我想并行运行DelayedJob和Sidekiq,并一次迁移一种类型的作业。既然DelayedJob和Sidekiq都提供了.delay方法,那么如何区分两者呢?还有其他潜在问题吗? 最佳答案 对于Sidekiq2.17.1及更高版本,在Rails初始化程序的某处,调用以下命令:Sidekiq.hook_rails!Sidekiq.remove_delay!并且您将

ruby - 如何使用 RSpec 测试无效参数引发 ArgumentError 异常?

我正在编写一个RubyGem,如果提供给其单一方法的参数无效,它可以引发ArgumentError。我如何使用RSpec为此编写测试?下面的例子展示了我想到的那种实现方式。bar方法需要一个bool参数(:baz),检查其类型以确保它实际上是一个bool值:moduleFoodefself.bar(options={})baz=options.fetch(:baz,true)validate_arguments(baz)endprivatedefself.validate_arguments(baz)raise(ArgumentError,":bazmustbeaboolean")un

ruby - 在 rspec(和 cucumber )中测试 rake 任务

我是Ruby的新手,我一直在尝试学习Rake、RSpec和Cucumber。我找到了一些可以帮助我测试Rake任务的代码,但我无法让它正常工作。有人告诉我:http://blog.codahale.com/2007/12/20/rake-vs-rspec-fight/放弃这个:defdescribe_rake_task(task_name,filename,&block)require"rake"describe"Raketask#{task_name}"doattr_reader:taskbefore(:all)do@rake=Rake::Application.newRake.ap

ruby-on-rails - 主要 :Object 的 RSpec 3.1 未定义方法 `feature'

我正在经历相当痛苦的RSpec3.1升级。我有几个在RSpec2.99中工作的功能规范,它们提高了:undefinedmethod`feature'formain:Object我注意到我必须在我的其他规范中使用RSpec.describe,因为它们不再附加到主要对象。等效的功能调用是什么?在我的功能中我需要'rails_helper'require'rails_helper'feature'FacebookAuthentiation'do...endspec/rails_helper.rb#Thisfileiscopiedtospec/whenyourun'railsgenerater

ruby - Rails 4.2 - Sidekiq 在开发中不发送电子邮件

我有一个Rails应用程序,我可以在其中发送大量电子邮件。我想执行此操作异步。为此,我尝试使用Sidekiq,但我无法让它正常工作——它不发送任何电子邮件。发送电子邮件之前有效,所以我确定我的电子邮件设置正确。在我的gemfile中我有这个:gem'sidekiq'我已经运行了bundleinstall。我还安装了redis,按照RailsCasts#366上的说明进行操作.我已经使用以下命令启动了sidekiq:bundleexecsidekiq,结果如下图所示:在application.rb我有以下内容:config.active_job.queue_adapter=:sideki

ruby - 如何避免 RSpec 中的 "Useless use of == in void context"?

在RSpec中,如果我有警告并且有x.should==42another_line_of_code然后我得到一个关于的警告warning:uselessuseof==invoidcontext还有什么我可以做的吗关闭警告将其更改为bitbucket=(x.should==42) 最佳答案 使用:x.shouldeq(42)或者:x.shouldbe==42或者移动x.should==42使其成为itblock中的最后一行。对于那些思考但是为什么?的人我完全是Ruby的菜鸟,但这是我的理解:警告来自Ruby,因为像x.should==

ruby - rspec 中的整数比较匹配器

假设x应该大于y。我如何在rspec中对其进行编码? 最佳答案 使用rspec2.14和期望语法,可以这样表达:expect(x).tobe>y 关于ruby-rspec中的整数比较匹配器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/13592697/