私はここで奇妙なことに遭遇しています。パスワードとして一致する特定の文字列をハッシュするためにND5に依存する「認証者」があります。テストを実行するときの問題は次のとおりです。
NoMethodError: undefined method `md5' for #<CASServer::Authenticators::Billing:0x007fd8e6c906a0>
./models/authenticators/billing.rb:63:in `validate'
./routes/login.rb:166:in `block (2 levels) in <class:Server>'
./routes/login.rb:158:in `each'
./routes/login.rb:158:in `block in <class:Server>'
(eval):2:in `click_button'
./features/step_definitions/when_steps.rb:32:in `/^I enter "(.*)" as username and the generated username password and log in$/'
./features/rubycas.login.feature:14:in `When I enter "username" as username and the generated username password and log in'
したがって、基本的に彼は MD5 を Digest ライブラリの一部として認識していません。この問題は、IDE および IRB コンソールでテストを実行するときに発生します。
1.9.3-p125 :001 > require "digest/md5" and Digest::MD5("test")
NoMethodError: undefined method `MD5' for Digest:Module
ただし、次を実行すると:
[root@DCUDEV01 /home/morn/rubycas/current]# ruby
require "digest/md5" and Digest::MD5("test")
エラー、ダンプ、または例外は発生しません。Rubyはそれを受け入れるだけです。この MD5 を機能させるために何が欠けていますか?