Я пытаюсь проверить правильность правильности ошибки при определенных условиях. В этой спецификации ошибка возникает, но тест все еще не выполняется. Что я делаю не так?RSpec: ожидающий метод для повышения ошибки не работает
require 'spec_helper'
describe USBTeensyRenderer do
context 'when the correct USB port name is not present' do
it 'raises an error on instantiation' do
expect(renderer = USBTeensyRenderer.new).to raise_error(USBInitError)
end
end
end
И выходной разъем «расслоении ехес RSpec»:
Failures:
1) USBTeensyRenderer when the correct USB port name is not present raises an error on instantiation
Failure/Error: expect(renderer = USBTeensyRenderer.new).to raise_error(USBInitError)
USBInitError:
USB output couldn't be initialized
# ./lib/ivan/view/renderers/usb_teensy_renderer.rb:9:in `rescue in initialize'
# ./lib/ivan/view/renderers/usb_teensy_renderer.rb:6:in `initialize'
# ./spec/models/usb_teensy_renderer_spec.rb:10:in `new'
# ./spec/models/usb_teensy_renderer_spec.rb:10:in `block (3 levels) in <top (required)>'
Finished in 0.00351 seconds (files took 0.11638 seconds to load)
8 examples, 1 failure
Failed examples:
rspec ./spec/models/usb_teensy_renderer_spec.rb:9 # USBTeensyRenderer when the correct USB port name is not present raises an error on instantiation
Вот как возникает ошибка в классе:
def initialize
begin
@sp = SerialPort.new("/dev/tty.usbmodem54121", 9600, 8, 1)
rescue
raise USBInitError, "USB output couldn't be initialized"
end
@sp.get_modem_params()
end
как вы поднимаете Ошибка в вашей тестируемой системе? – GolfWolf
Обновлен с помощью метода инициализации класса USBTeensyRenderer. –