Rails rspec和黄瓜Secret令牌为空

运行rspeccucumber测试时,出现此错误:

Secret token is empty

我在我的环境中设置了secret_key_base

Stacktrace:

      RuntimeError:
        Secret token is empty
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/ahoy_email-1.1.0/lib/ahoy_email/processor.rb:103:in `block in track_links'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/nokogiri-1.10.5/lib/nokogiri/xml/node_set.rb:238:in `block in each'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/nokogiri-1.10.5/lib/nokogiri/xml/node_set.rb:237:in `upto'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/nokogiri-1.10.5/lib/nokogiri/xml/node_set.rb:237:in `each'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/ahoy_email-1.1.0/lib/ahoy_email/processor.rb:88:in `track_links'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/ahoy_email-1.1.0/lib/ahoy_email/processor.rb:17:in `perform'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/ahoy_email-1.1.0/lib/ahoy_email/mailer.rb:39:in `block in save_ahoy_options'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/safely_block-0.3.0/lib/safely/core.rb:50:in `safely'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/ahoy_email-1.1.0/lib/ahoy_email/mailer.rb:27:in `save_ahoy_options'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:413:in `block in make_lambda'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:246:in `block in halting'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:511:in `block in invoke_after'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:511:in `each'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:511:in `invoke_after'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:132:in `run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionpack-5.1.7/lib/abstract_controller/callbacks.rb:19:in `process_action'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionpack-5.1.7/lib/abstract_controller/base.rb:124:in `process'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/rescuable.rb:23:in `block in process'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/rescuable.rb:15:in `handle_exceptions'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/rescuable.rb:22:in `process'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionview-5.1.7/lib/action_view/rendering.rb:30:in `process'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/base.rb:609:in `block in process'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/notifications.rb:166:in `block in instrument'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/notifications.rb:166:in `instrument'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/base.rb:608:in `process'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/message_delivery.rb:105:in `block in processed_mailer'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/message_delivery.rb:104:in `tap'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/message_delivery.rb:104:in `processed_mailer'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/message_delivery.rb:95:in `deliver_now'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/delivery_job.rb:14:in `perform'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/execution.rb:37:in `block in perform_now'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:108:in `block in run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/i18n-0.9.5/lib/i18n.rb:268:in `with_locale'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/translation.rb:7:in `block (2 levels) in <module:Translation>'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:117:in `instance_exec'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/logging.rb:24:in `block (4 levels) in <module:Logging>'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/notifications.rb:166:in `block in instrument'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/notifications/instrumenter.rb:21:in `instrument'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/notifications.rb:166:in `instrument'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/logging.rb:23:in `block (3 levels) in <module:Logging>'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/logging.rb:44:in `block in tag_logger'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/tagged_logging.rb:69:in `block in tagged'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/tagged_logging.rb:26:in `tagged'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/tagged_logging.rb:69:in `tagged'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/logging.rb:44:in `tag_logger'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/logging.rb:20:in `block (2 levels) in <module:Logging>'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:117:in `instance_exec'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:135:in `run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/execution.rb:33:in `perform_now'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/execution.rb:22:in `block in execute'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:108:in `block in run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/railtie.rb:26:in `block (4 levels) in <class:railtie>'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/execution_wrapper.rb:85:in `wrap'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/reloader.rb:68:in `block in wrap'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/execution_wrapper.rb:85:in `wrap'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/reloader.rb:67:in `wrap'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/railtie.rb:25:in `block (3 levels) in <class:railtie>'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:117:in `instance_exec'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:135:in `run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/execution.rb:20:in `execute'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/queue_adapters/delayed_job_adapter.rb:36:in `perform'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/backend/base.rb:81:in `block in invoke_job'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/lifecycle.rb:61:in `block in initialize'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/lifecycle.rb:66:in `execute'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/lifecycle.rb:40:in `run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/backend/base.rb:78:in `invoke_job'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/backend/base.rb:19:in `block (2 levels) in enqueue_job'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/lifecycle.rb:61:in `block in initialize'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/lifecycle.rb:66:in `execute'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/lifecycle.rb:40:in `run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/backend/base.rb:17:in `block in enqueue_job'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/backend/base.rb:16:in `tap'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/backend/base.rb:16:in `enqueue_job'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/delayed_job-4.1.8/lib/delayed/backend/base.rb:12:in `enqueue'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/queue_adapters/delayed_job_adapter.rb:17:in `enqueue'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/enqueuing.rb:51:in `block in enqueue'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:108:in `block in run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/logging.rb:15:in `block (3 levels) in <module:Logging>'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/logging.rb:44:in `block in tag_logger'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/tagged_logging.rb:69:in `block in tagged'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/tagged_logging.rb:26:in `tagged'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/tagged_logging.rb:69:in `tagged'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/logging.rb:44:in `tag_logger'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/logging.rb:14:in `block (2 levels) in <module:Logging>'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:117:in `instance_exec'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:117:in `block in run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:135:in `run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/enqueuing.rb:47:in `enqueue'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activejob-5.1.7/lib/active_job/configured_job.rb:13:in `perform_later'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/message_delivery.rb:121:in `enqueue_delivery'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/actionmailer-5.1.7/lib/action_mailer/message_delivery.rb:76:in `deliver_later'
      # ./app/models/group_user.rb:182:in `send_email_joined_group'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:413:in `block in make_lambda'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:235:in `block in halting_and_conditional'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:511:in `block in invoke_after'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:511:in `each'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:511:in `invoke_after'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:132:in `run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:827:in `_run_create_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/callbacks.rb:344:in `_create_record'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/timestamp.rb:102:in `_create_record'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/persistence.rb:554:in `create_or_update'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/callbacks.rb:340:in `block in create_or_update'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:131:in `run_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/callbacks.rb:827:in `_run_save_callbacks'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/callbacks.rb:340:in `create_or_update'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/persistence.rb:162:in `save!'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/validations.rb:50:in `save!'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/attribute_methods/dirty.rb:43:in `save!'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/transactions.rb:313:in `block in save!'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/transactions.rb:384:in `block in with_transaction_returning_status'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `block in transaction'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/transaction.rb:194:in `block in within_new_transaction'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/transaction.rb:191:in `within_new_transaction'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/connection_adapters/abstract/database_statements.rb:235:in `transaction'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/transactions.rb:210:in `transaction'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/transactions.rb:381:in `with_transaction_returning_status'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/transactions.rb:313:in `save!'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activerecord-5.1.7/lib/active_record/suppressor.rb:46:in `save!'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/factory_bot-5.1.1/lib/factory_bot/evaluation.rb:18:in `create'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/factory_bot-5.1.1/lib/factory_bot/strategy/create.rb:12:in `block in result'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/factory_bot-5.1.1/lib/factory_bot/strategy/create.rb:9:in `tap'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/factory_bot-5.1.1/lib/factory_bot/strategy/create.rb:9:in `result'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/factory_bot-5.1.1/lib/factory_bot/factory.rb:43:in `run'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/factory_bot-5.1.1/lib/factory_bot/factory_runner.rb:29:in `block in run'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/notifications.rb:168:in `instrument'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/factory_bot-5.1.1/lib/factory_bot/factory_runner.rb:28:in `run'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/factory_bot-5.1.1/lib/factory_bot/strategy_syntax_method_registrar.rb:20:in `block in define_singular_strategy_method'
      # ./spec/features/groups/groups_show_spec.rb:17:in `block (3 levels) in <top (required)>'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/rspec-prof-0.0.7/lib/rspec-prof.rb:76:in `block (2 levels) in <top (required)>'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/dependencies.rb:286:in `load'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/dependencies.rb:286:in `block in load'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/dependencies.rb:258:in `load_dependency'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/activesupport-5.1.7/lib/active_support/dependencies.rb:286:in `load'
      # /Users/hidr0/.rvm/gems/ruby-2.4.6/gems/spring-commands-rspec-1.0.4/lib/spring/commands/rspec.rb:18:in `call'
      # -e:1:in `<main>'
wutian000523 回答:Rails rspec和黄瓜Secret令牌为空

我去了:

.rvm/gems/ruby-2.4.6/gems/ahoy_email-1.1.0/lib/ahoy_email/processor.rb:103

我发现: raise "Secret token is empty" unless AhoyEmail.secret_token

这意味着ahoy gem中的secret_token尚未设置。我去了: .rvm/gems/ruby-2.4.6/gems/ahoy_email-1.1.0/lib/ahoy_email/engine.rb

我发现我出于调试目的已经评论了很多内容。

gem uninstall ahoy_email -v 1.1.0 gem install ahoy_email -v 1.1.0

它奏效了。

故事的寓意:“请勿在您的gems文件夹中工作。”

本文链接:https://www.f2er.com/3075153.html

大家都在问