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 № 1los 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
.