[英]NoMethodError: undefined method 'env' for nil:NilClass in ActionMailer::TestCase
我從rails上的ruby開始並創建了一個示例應用程序。 在這個應用程序中,我有一個郵件類和一個測試生成的Mail類。 除了ActionMailer :: TestCase的測試之外,我設法讓所有測試工作。 每次運行測試時都會收到錯誤消息:
NoMethodError:nil的未定義方法'env':NilClass。
我生成的郵件程序測試方法如下所示:
test "new_project" do
mail = ProjectMailer.new_project
assert_equal "New project", mail.subject
assert_equal ["to@example.org"], mail.to
assert_equal ["from@example.com"], mail.from
assert_match "Hi", mail.body.encoded
end
我有我的test_helper
class ActionController::TestCase
include Devise::TestHelpers
end
class ActionMailer::TestCase
include Devise::TestHelpers
end
class ActiveSupport::TestCase
ActiveRecord::Migration.check_pending!
include Devise::TestHelpers
fixtures :all
end
任何人都知道如何解決這個問題?
你包括Devise::TestHelpers
。 您應該為測試創建特定的test_helper
,它確實需要Devise。
stackoverflow上的相同問題。
我的意見是:你不應該使用Devise,因為它會阻止對項目的寫測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.