Problems testing method with rSpec

I have this code in my rSpec file:

describe Alineado, "cambiar_por" do
  include AlineadoSpecHelper

  describe "Con el partido en juego y con cambios disponibles" do
    before(:each) do
      @partido = mock_model(Partido, {
          :cambios_local => 3,
          :cambios_visitante => 3,
          :en_juego? => true,
          :minuto? => 40,
          :local => :equipo_local,
          :visitante => :equipo_visitante
        })
      @jugador_sustituido = Alineado.new(atributos_validos(@partido,
          :jugador_sustituido, :equipo_local))
      @jugador_entrante = Alineado.new(atributos_validos(@partido,
          :jugador_entrante, :equipo_local))
      @cambios_antes = @partido.cambios_local
      @jugador_sustituido.cambiar_por(@jugador_entrante)
    end

    it "debe de dejar en el banquillo al jugador sustituido" do
      @jugador_sustituido.should be_banquillo
    end

    it "no debe dejar al jugador entrante en el banquillo" do
      @jugador_entrante.should_not be_banquillo
    end

    it "debe decrementar en uno el número de cambios disponibles" do
      @partido.cambios_local.should eql(@cambios_antes - 1)
    end
  end
end

And this code in my model file:

def cambiar_por(jugador_entrante)
    salida = self.partido.minuto?
    jugador_entrante.entrada = self.partido.minuto?

    if club_id == self.partido.local
      self.partido.cambios_local = self.partido.cambios_local - 1
    else
      self.partido.cambios_visitante = self.partido.cambios_visitante -
1
    end
end

And rSpec give me this errors:

1)
Spec::Mocks::MockExpectationError in 'Alineado cambiar_por Con el
partido en juego y con cambios disponibles debe decrementar en uno el
número de cambios disponibles'
Mock 'Partido_1001' received unexpected message :cambios_visitante= with
(2)
/home/carlos/NetBeansProjects/ofs/app/models/alineado.rb:47:in
`cambiar_por'
spec/models/alineado_spec.rb:202:
spec/models/alineado_spec.rb:184:

2)
Spec::Mocks::MockExpectationError in 'Alineado cambiar_por Con el
partido en juego y con cambios disponibles no debe dejar al jugador
entrante en el banquillo'
Mock 'Partido_1002' received unexpected message :cambios_visitante= with
(2)
/home/carlos/NetBeansProjects/ofs/app/models/alineado.rb:47:in
`cambiar_por'
spec/models/alineado_spec.rb:202:
spec/models/alineado_spec.rb:184:

3)
Spec::Mocks::MockExpectationError in 'Alineado cambiar_por Con el
partido en juego y con cambios disponibles debe de dejar en el banquillo
al jugador sustituido'
Mock 'Partido_1003' received unexpected message :cambios_visitante= with
(2)
/home/carlos/NetBeansProjects/ofs/app/models/alineado.rb:47:in
`cambiar_por'
spec/models/alineado_spec.rb:202:
spec/models/alineado_spec.rb:184:

Somebody could help me?