草庐IT

rspec - Spork rspec 在使用 redis 时,引发 Redis::InheritedError

如果代码执行redis相关函数,会引发Redis::InheritedError:Triedtouseaconnectionfromachildprocesswithoutreconnecting.YouneedtoreconnecttoRedisafterforking.当redis连接时它会将sporkprocess.pid保存为@pid,然后redis执行它会使用ensure_connected检查连接,这将通过Process.pid!=@pid检查。这两个pid是不同的,所以它会引发Redis::InheritedError。Google一下,Resque.after_fork

rspec - Spork rspec 在使用 redis 时,引发 Redis::InheritedError

如果代码执行redis相关函数,会引发Redis::InheritedError:Triedtouseaconnectionfromachildprocesswithoutreconnecting.YouneedtoreconnecttoRedisafterforking.当redis连接时它会将sporkprocess.pid保存为@pid,然后redis执行它会使用ensure_connected检查连接,这将通过Process.pid!=@pid检查。这两个pid是不同的,所以它会引发Redis::InheritedError。Google一下,Resque.after_fork

ruby-on-rails - 使用 lambda 测试 Rails 中的回调?

我有一个基于Redis的新闻提要,当某些事件发生时,它会通过回调将项目插入其中。例如,当用户在一本书上做笔记时,它会被插入到该书读者的新闻提要中。classNote现在这很好,我99%确定它可以工作,因为我可以查看我的提要并看到那里的注释。我的问题是使用最新的rspec-rails在Rails3上测试它。出于某种原因,这通过了:spec/models/note_spec.rbdescribe"notecreation"doit"shouldnotifythereadersofthebookthenoteison"do@user.feed.count.should==0@note.sav

ruby-on-rails - 使用 lambda 测试 Rails 中的回调?

我有一个基于Redis的新闻提要,当某些事件发生时,它会通过回调将项目插入其中。例如,当用户在一本书上做笔记时,它会被插入到该书读者的新闻提要中。classNote现在这很好,我99%确定它可以工作,因为我可以查看我的提要并看到那里的注释。我的问题是使用最新的rspec-rails在Rails3上测试它。出于某种原因,这通过了:spec/models/note_spec.rbdescribe"notecreation"doit"shouldnotifythereadersofthebookthenoteison"do@user.feed.count.should==0@note.sav

ruby-on-rails - 测试使用 .delay 时是否创建了 Sidekiq 作业

我将Rails4.2与sidekiq4.1结合使用。我想测试我实际上是在排队等待删除用户。现在我正在代码中做这样的事情User.delay.destroy(user_id)我已经习惯这样测试了it{expect(UserRemoveWorker.jobs.size).toeq1}但我没有这样的工作人员,我不想创建一个新工作人员(在本例中为UserRemoveWorker),因为我可以简单地调用delay方法。查看我是否已将作业排队/将其写入Redis的最佳方法是什么?谢谢! 最佳答案 assert_equal1,Sidekiq::E

ruby-on-rails - 测试使用 .delay 时是否创建了 Sidekiq 作业

我将Rails4.2与sidekiq4.1结合使用。我想测试我实际上是在排队等待删除用户。现在我正在代码中做这样的事情User.delay.destroy(user_id)我已经习惯这样测试了it{expect(UserRemoveWorker.jobs.size).toeq1}但我没有这样的工作人员,我不想创建一个新工作人员(在本例中为UserRemoveWorker),因为我可以简单地调用delay方法。查看我是否已将作业排队/将其写入Redis的最佳方法是什么?谢谢! 最佳答案 assert_equal1,Sidekiq::E

ruby-on-rails - rspec 测试随机失败

用于测试的CircleCI,RubyonRails环境,使用Redis进行缓存,使用postgres作为数据库。Rspec+cucumber用于测试。我已经尝试了所有方法,但我仍然在很多不同的规范文件中完全随机地进行了失败的测试。每当我单独运行测试时,它们都会通过。这意味着以前的测试遗留下来的数据,或者我的一些随机FactoryGirl数据有时会弄乱。但是,它们总是单独通过。首先,我尝试手动修复测试,但我意识到这是一个更大的问题。现在,我试图在每次测试中刷新数据库和Redis,但即使这样也行不通。我在spec_helper中的每个之前/之后都有一个flushall,它应该适用于每个测试

ruby-on-rails - rspec 测试随机失败

用于测试的CircleCI,RubyonRails环境,使用Redis进行缓存,使用postgres作为数据库。Rspec+cucumber用于测试。我已经尝试了所有方法,但我仍然在很多不同的规范文件中完全随机地进行了失败的测试。每当我单独运行测试时,它们都会通过。这意味着以前的测试遗留下来的数据,或者我的一些随机FactoryGirl数据有时会弄乱。但是,它们总是单独通过。首先,我尝试手动修复测试,但我意识到这是一个更大的问题。现在,我试图在每次测试中刷新数据库和Redis,但即使这样也行不通。我在spec_helper中的每个之前/之后都有一个flushall,它应该适用于每个测试

ruby-on-rails - GitLab CI - Redis::CannotConnectError:在 127.0.0.1:6379 上连接到 Redis 时出错

很少有测试在管道中失败并出现错误Redis::CannotConnectError:ErrorconnectingtoRedison127.0.0.1:6379(Errno::ECONNREFUSED)。我的.gitlab-ci.yml文件image:starefossen/ruby-node:latestservices:-mongo:latest-redis:latestvariables:MONGODB_URI:mongodb://mongo:27017/db_testREDISTOGO_URL:redis://localhost:6379before_script:-bundl

ruby-on-rails - GitLab CI - Redis::CannotConnectError:在 127.0.0.1:6379 上连接到 Redis 时出错

很少有测试在管道中失败并出现错误Redis::CannotConnectError:ErrorconnectingtoRedison127.0.0.1:6379(Errno::ECONNREFUSED)。我的.gitlab-ci.yml文件image:starefossen/ruby-node:latestservices:-mongo:latest-redis:latestvariables:MONGODB_URI:mongodb://mongo:27017/db_testREDISTOGO_URL:redis://localhost:6379before_script:-bundl