Я пытаюсь протестировать мой плагин 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, чтобы тесты прошли успешно. Но было бы лучше проверить исходный файл, очевидно.
Редактировать: Тест не полагается на Jenkins :: Slaves :: ComputerListener, так же как и ComputerListener не определен в геме, с которым я связываю свой плагин. Все, что я пытаюсь сделать, это симулировать этот файл, я не могу добавить require 'computerlistener'
в EmailComputerListener, так как это, вероятно, сломает плагин.
Спасибо.