Jenkins Ruby プラグインを RSpec でテストしようとしています。
私のemailcomputerlistener.rb:
require 'net/smtp'
class EmailComputerListener
include Jenkins::Slaves::ComputerListener
def online(computer, listener)
[...]
end
end
私のメールcomputerlistener_spec.rb
require 'emailcomputerlistener'
require 'computer' # overloaded class for computer
require 'smtp' # overloaded smtp class
require 'computerlistener' # required?
describe EmailComputerListener do
before :each do
@ecl = EmailComputerListener.new
[...]
end
[tests]
end
RSpec を実行すると、次のように表示されます。
NameError: uninitialized constant EmailComputerListener::Jenkins
[row 3]
すべてのファイルは同じディレクトリにあります。テストに合格するために include ステートメントをコメントアウトして、別の emailcomputerlistener でテストを実行しています。ただし、明らかに元のファイルをテストする方がよいでしょう。
編集: テストは Jenkins::Slaves::ComputerListener に依存していません。ComputerListener は、プラグインをバンドルしている gem で定義されています。私がやろうとしているのは、このファイルをシミュレートすることだけですrequire 'computerlistener'
.EmailComputerListenerにaを追加すると、プラグインが壊れる可能性があるため、追加できません.
ありがとう。