/ / Probando la capacidad de "imprimir" una clase con rspec - La llamada "Imprimir" funciona en mi programa, pero en rspec devuelve nil - ruby, rspec

La capacidad de prueba para "imprimir" una clase con rspec: la llamada "Imprimir" funciona en mi programa, pero en rspec devuelve nil - ruby, rspec

Este es un problema simple pero no estoy seguro de lo que syendo mal. "He implementado un método" to_s "en mi clase que imprime su" @status ". Cuando inicializo una instancia y la imprimo dentro del archivo de script, funciona. Pero cuando intento hacer lo mismo con rspec, falla y dice que devolvió "nil". Sé que rspec está configurado correctamente porque obtuve otras pruebas para que pase esta clase.

Aquí está la clase (cell.rb):

class Cell
def initialize(status=" ")
@status = status
end

def to_s
"#{@status}"
end
end
cell = Cell.new
print cell

Y la prueba (partes relevantes de cell_spec.rb):

describe Cell do
before :each do
@cell = Cell.new
end

it "prints its status" do
expect(print @cell).to eq(@cell.status)
end
end

Respuestas

0 para la respuesta № 1

los print método siempre devuelve nil.

Usted querría que su rspec sea como:

it "prints its status" do
expect(@cell.to_s).to eq(@cell.status)
end

No está buscando probar la función de impresión, sino que está probando su to_s.